第二章线性表实验

头文件:

[cpp]  view plain copy
  1. #ifndef Seqlist_H
  2. #define Seqlist_H  
  3. const int MaxSize=60;  
  4. class Seqlist  
  5. {  
  6. public:  
  7.     Seqlist(){length=0;}  
  8. Seqlist(int a[],int n);  
  9. ~Seqlist(){}  
  10. void Insert(int i,int x);  
  11. int Delete(int i);  
  12. int Locate(int x);  
  13. int Get(int x);  
  14. void PrintList();  
  15. private:  
  16.     int data[MaxSize];  
  17.     int length;  
  18. }; 
  19. #endif 
源程序:

[cpp]  view plain cop
  1. #include<iostream>
  2. using namespace std;  
  3. #include "Seqlist.H"  
  4. Seqlist::Seqlist(int a[],int n)  
  5. {  
  6.     if(n>MaxSize)thro

    1. w"参数非法";  
    2.     for(int i=0;i<n;i++)  
    3.         data[i]=a[i];  
    4.     length=n;  
    5. }  
    6. void Seqlist::Insert(int i,int x)  
    7. {  
    8.     if(length>MaxSize)throw"上溢";  
    9.     if(i<1||i>length+1)throw"未知非法";  
    10.     for(int j=length;j>=i;j--)  
    11.         data[j]=data[j-1];  
    12.     data[i-1]=x;  
    13.     length++;  
    14. }  
    15. int Seqlist::Delete(int i)  
    16. {  
    17.     if(length==0)throw"下溢";  
    18.     if(i<1||i>length)throw"位置非法";  
    19.     int x=data[i-1];  
    20.     for (int j=i;j<length;j++)  
    21.         data[j-1]=data[j];  
    22.     length--;  
    23.     return x;  
    24. }  
    25. int Seqlist ::Locate(int x)  
    26. {  
    27.     for(int i=0;i<length;i++)  
    28.         if(data[i]==x)return i+1;  
    29.     return 0;  
    30. }  
    31. int Seqlist::Get(int x)  
    32. {  
    33.     if(x<1&&x>length)throw"位置非法";  
    34.     else return data[x-1];  
    35. }  
    36. void Seqlist ::PrintList()  
    37. {  
    38.     for(int i=0;i<length;i++)  
    39.         cout<<<<data[i]<<" ";  
    40.     cout<<endl;  

    主函数:

    [cpp]  view plain copy
    1. #include<iostream>  
    2. using namespace std;  
    3. #include "Seqlist.H"  
    4. void main()  
    5. {  
    6.     int r[5]={12,23,38,49,57};  
    7.     Seqlist L(r,5);  
    8.     cout<<"执行插入学生成绩前数据为:"<<endl;  
    9.     L.PrintList();  
    10.     try  
    11.     {  
    12.         L.Insert(2,89);  
    13.     }  
    14.     catch (char *s)  
    15.     {  
    16.         cout<<s<<endl;  
    17.     }  
    18.     cout<<"执行插入后学生成绩的数据为:"<<endl;  
    19.     L.PrintList();  
    20.     try  
    21.     {  
    22.         L.Delete(1);  
    23.     }  
    24.     catch (char *s)  
    25.     {  
    26.         cout<<s<<endl;  
    27.     }  
    28.       
    29.     cout<<"成绩为38的元素位置为:";  
    30.     cout<<L.Locate(38)<<endl;  
    31.     cout<<"位置为4的成绩位置为:";  
    32.     cout<<L.Get(4)<<endl;  
    33.     cout<<"删除后成绩为:"<<endl;  
    34.     L.PrintList();  
    35. }  

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 1
      评论
    经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值