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

书籍源码

开发平台:

Visual C++

  1. /*7.3 给单链表类模板增加两个成员函数:删除链表中所有数据域为指定值的结点和
  2. 取出链表中第K个元素(从1开始计数)。*/
  3. //这两个成员函数添在单链表类模板中(ep7_3.h)
  4. #include"ep7_3.h"
  5. #include<string>
  6. using namespace std;
  7. int main(){
  8. const int h=9;
  9. int i;
  10. List<string> list1;
  11. Node<string> *n1,*P1;
  12. string  m("东南大学"),sp[h]={"南京大学","东南大学","交通大学","清华大学","天津大学",
  13. "东南大学","复旦大学","浙江大学","同济大学"};
  14. cout<<"按原始数据次序输出:"<<endl;
  15. for(i=0;i<h;i++) cout<<sp[i]<<'t';
  16. cout<<endl;
  17. for(i=0;i<h;i++){
  18. P1=list1.CreatNode(sp[i]);
  19. list1.InsertFront(P1);//向前生成list1
  20. }
  21. cout<<"输出向前生成的链表:"<<endl;
  22. list1.PrintList();
  23. n1=list1.RemoveAll(m);
  24. if(n1){
  25. cout<<"删除所有含“"<<n1->Getinfo()<<"”的结点。"<<endl;
  26. delete n1;
  27. }
  28. else cout<<"无要删除的结点!"<<endl;
  29. cout<<"输出删除所有指定结点后的链表:"<<endl;
  30. list1.PrintList();
  31. cout<<"要求寻找第几个节点?"<<endl;
  32. cin>>i;
  33. n1=list1.GetNode(i);
  34. if(n1!=NULL) cout<<n1->Getinfo()<<endl;
  35. else cout<<"链表出界!"<<endl;
  36. return 0;
  37. }