📄 memorylink.cpp
字号:
//程序:memorylink.cpp
//功能:用链表类LINKLIST模拟动态内存管理
#include”LINKLIST.CPP”
//FUNCTION:按输入起始地址的大小升序排列创建一条链
//PARAMETER:list为指向要创建的链表对象的指针,is_combine为是否在创建时结合
相邻的节点,1为结合,其他值为不结合,缺省为结合
void create(LINKLIST* list, int is_combine=1)
{NODE *insertor, *pre;
insertor=new NODE;
cout<<"\nEnter address and lenght:";
cin>>insertor->element1>>insertor->element2;
while(insertor->element1>0&&insertor->element2>0)
{pre=list->insert(insertor);
if (is_combine==1)
{pre=list->combine(pre, insertor);
list->combine(pre, pre->next);
}
list->print();
insertor=new NODE;
cout<<"\nEnter address and lenght:";
cin>>insertor->element1>>insertor->element2;
}
if(list->get_top()==NULL) cout<<"\nHaven initialized!";
else cout<<"\nInitializationm complete!\n";
}
void main()
{NODE *temp_HA, *pre_HA ;
unsigned long address;
LINKLIST *HA,*HB;
HA=new LINKLIST; HB=new LINKLIST;
cout<<"\nCreate HA:\n" ;
create(HA);
cout<<"\nCreate HB:\n" ;
create(HB,0);
do
{cout<<"\nEnter address(enter 0 to end) to delete it from HB:";
cin>>address;
if (address==0) //输入地址为0时结束
{cout<<"\ndeleting end!";
cout<<"\nHA:"; HA->print();
cout<<"\nHB:"; HB->print();
break;
} else {
temp_HA=HB->del(address);
if(temp_HA!=NULL)
{cout<<"\nAfter deleting , HB :\n";
HB->print();
pre_HA=HA->insert(temp_HA);
pre_HA=HA->combine(pre_HA, temp_HA);
HA->combine(pre_HA, pre_HA->next);
} else cout<<"\nAdress not found!";
cout<<"\nHA:"; HA->print();
cout<<"\nHB:"; HB->print();
}
} while(HB->get_top()!=NULL);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -