为单链表类模板增加一个复制构造函数和赋值运算符(=)。
在1402题基础上,List类增加一个复制构造函数和赋值运算符(=)
在主函数中进行测试,创建链表list1,测试复制构造函数和赋值运算符,生成list2,list3,输出三个链表
int main(){
Node<int> * P1;
List<int> list1,list2;
int a[10]={20,12,0,-5,9,-18,6,11,5,3},i,j;
for(i=0;i<10;i++){
P1=list1.CreatNode(a[i]);
list1.InsertOrder(P1);
}
list1.PrintList();
//cout<<"请输入一个要删除的整数<<endl;
cin>>j;
P1=list1.Find(j);
if(P1!=NULL){
P1=list1.DeleteNode(P1);
delete P1;
list1.PrintList();
}
else cout<<"未找到"<<endl;
//cout<<"请输入一个要插入的整数"<<endl;
cin>>j;
P1=list1.CreatNode(j);
list1.InsertOrder(P1);
list1.PrintList();
list2=list1;
list2.PrintList();
List<int> list3=list1;
list3.PrintList();
//cout<<"请输入一个要删除的整数"<<endl;
cin>>j;
P1=list1.Find(j);
if(P1!=NULL){
P1=list1.DeleteNode(P1);
delete P1;
list1.PrintList();
}
else cout<<"未找到"<<endl;
list2=list3=list1;
list2.PrintList();
list3.PrintList();
list1.MakeEmpty();//Çå¿Õlist1
list2.MakeEmpty();//Çå¿Õlist1
list3.MakeEmpty();//Çå¿Õlist1
return 0;
}