发布网友 发布时间:2022-04-24 19:50
共1个回答
热心网友 时间:2022-05-05 03:11
#ifndef SeqList_H#define SeqList_Hconst int MaxSize=10;class SeqList{public:SeqList(){length=0;}SeqList(int a[],int n);~SeqList(){}void Tnsert(int i,int x);int Delete(int i);int Locate(int x);void PrintList();private:int data[MaxSize];int length;};
#endif
#include<iostream>using namespace std;#include "SeqList.h"SeqList::SeqList(int a[],int n){if(n>MaxSize)throw"参数非法";for(int i=0;i<n;i++)data[i]=a[i];length=n;}void SeqList::Insert(int i,int x){if(length>=MaxSize)throw"上溢";if(i<1||i>length+1)throw"位置非法";for(int j=length;j>=i;j--)data[j]=data[j-1];data[i-1]=x;length++;}int SeqList::Delete(int i){if(length=0)throw"下溢";if(i<1||i>length)throw"位置非法";int x=data[i-1];for(int j=i;j<length;j++)data[j-1]=data[j];length--;return x;}int SeqList::Locate(int x){for(int i=0;i<length;i++)if(data[i]==x) return i+1;return 0;}void SeqList::PrintList(){for(int i=0;i<length;i++)cout<<data[i]<<"";cout<<endl;
}
#include<iostream>using namespace std;#include "SeqList.h"void main(){int r[5]={1,2,3,4,5};SeqList L(r,5);cout<<"执行插入操作前数据为:"<<endl;L.PrintList();try{L.Insert(2,3);}catch (char *s){cout<<s<<endl;}cout<<"执行插入操作后数据为:"<<endl;L.PrintList();cout<<"值为3的元素位置为:";cout<<L.Locate(3)<<endl;cout<<"执行删除第一个元素操作,删除前数据为:"<<endl;L.PrintList();try{L.Delete(1);}catch(char *s){cout<<s<<endl;}cout<<"删除后数据为:"<<endl;L.PrintList();
}