发布网友 发布时间:2022-05-24 19:55
共1个回答
热心网友 时间:2023-10-29 05:57
#include<iostream> using namespace std; #define MaxSize 25 typedef int DataType; class SeqList{ DataType list[MaxSize]; int length; public: SeqList(){length=0;} ~SeqList(){} void SLCreat(int n); //创建顺序表 void SLInsert(int i,DataType x);//在顺序表L中的第i个位置插入数据元素x void SLDelete(int i); //在顺序表L中的第i个位置删除数据元素 DataType SLGet(int i); //获取第i个位置的元素位置 DataType SLSum(); //求当前顺序表元素和 int SLIsEmpty(); //判断顺序表是否为空 void SLPrint(); //将顺序表显示 }; //创建顺序表 void SeqList::SLCreat(int n){ DataType x; cout<<"请输入数据元素值:"<<endl; for(int i=0;i<n;i++){ cin>>x; list[i]=x; length++; } } //在顺序表L中的i位置插入数据元素x void SeqList::SLInsert(int i,DataType x){ int k; if(length>=MaxSize) cout<<"表已满,无法插入!"<<endl; else if(i<0||i>length) cout<<"参数i不合理!"<<endl; else{ for(k=length;k>i;k--){ list[k]=list[k-1]; } list[i]=x; length++; } } //删除第i个位置的数据元素 void SeqList::SLDelete(int i){ int k; if(!SLIsEmpty()) cout<<"表已空,无法删除!"<<endl; else if(i<0||i>length) cout<<"参数i不合理!"<<endl; else{ for(k=i-1;k<length;k++) list[k]=list[k+1]; length--; } } //获取第i个位置的元素的数值 DataType SeqList::SLGet(int i){ if (i<0||i>length){ cout<<"参数i不合理!"<<endl; return 0; } else return list[i-1]; } DataType SeqList::SLSum(){ int m=0; for(int i=0;i<length;i++) m=m+list[i]; return m; } //判断顺序表是否为空 int SeqList::SLIsEmpty(){ if(length<=0)return 0; else return 1; } //将顺序表显示在屏幕上 void SeqList::SLPrint(){ if(!SLIsEmpty()) cout<<"空表!"<<endl; else for(int i=0;i<length;i++) cout<<list[i]<<" "; cout<<endl; }