Ex7_5.cpp
上传用户:wuzhousb
上传日期:2022-07-12
资源大小:380k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. //【例7.5】由键盘输入16个整数,以这些整数作为结点数据,生成两个链表,一个向前生成,
  2. //一个向后生成,输出两个表。然后给出一个整数在一个链表中查找,找到后删除它,再输出
  3. //该表。清空该表,再按升序生成链表并输出。
  4. #include "Ex7_5.h"
  5. int main(){
  6. Node<int> * P1;
  7. List<int> list1,list2;
  8. int a[16],i,j;
  9. cout<<"请输入16个整数"<<endl;
  10. for(i=0;i<16;i++)cin>>a[i];                   //随机输入16个整数
  11. for(i=0;i<16;i++){
  12. P1=list1.CreatNode(a[i]);
  13. list1.InsertFront(P1);//向前生成list1
  14. P1=list2.CreatNode(a[i]);
  15. list2.InsertRear(P1);                        //向后生成list2
  16. }
  17. list1.PrintList();
  18. cout<<"list1长度:"<<list1.Length()<<endl;
  19. list2.PrintList();
  20. cout<<"请输入一个要求删除的整数"<<endl;
  21. cin>>j;
  22. P1=list1.Find(j);
  23. if(P1!=NULL){
  24. P1=list1.DeleteNode(P1);
  25. delete P1;
  26. list1.PrintList();
  27. cout<<"list1长度:"<<list1.Length()<<endl; 
  28. }
  29. else cout<<"未找到"<<endl;
  30. list1.MakeEmpty();//清空list1
  31. for(i=0;i<16;i++){
  32. P1=list1.CreatNode(a[i]);
  33. list1.InsertOrder(P1);//升序创建list1
  34. }
  35. list1.PrintList();
  36. return 0;
  37. }