int La[]={1,9,8,4,7,6,2,3}; int Lb[]={3,2,1};
SeqList
cout<<排序前数La组为: myLista.display();
cout<<排序前数Lb组为: myListb.display(); myLista.sort(); myListb.sort();
for(int i=1;i 粘贴测试数据及运行结果: 三、 心得体会:(含上机中所遇问题的解决办法,所使用到的编程技巧、创新点及编程 的心得) #include const int MaxSize=100; template public: SeqList( ); //无参构造函数 SeqList(datatype a[ ], int n); //有参构造函数 ~SeqList(){}; //析构函数为空 int Length(); //求线性表的长度 datatype Get(int i); //按位查找,取线性表的第i个元素 int Locate(datatype item); //查找元素item void Insert(int i, datatype item); //在第i个位置插入元素item datatype Delete(int i); //删除线性表的第i个元素 void display(); //遍历线性表,按序号依次输出各元素 int isEmpty(); int qianqu(int i,datatype item); int houji(int i,datatype item); //void and(SeqList &a,SeqList &b); //void Insert(datatype item); //void sort(); private: datatype data[MaxSize]; //存放数据元素的数组 int length; //线性表的长度 }; template SeqList length=0; } template SeqList if (n>MaxSize) throw 数组元素个数不合法 for (int i=0; i template void SeqList int j; if (length>=MaxSize) throw 溢出 if (i<1 || i>length+1) throw 不合法! for (j=length; j>=i; j--) data[j]=data[j-1]; data[i-1]=item; length++; } template datatype SeqList int item,j; if (length==0) throw 表为空,无法删除元素! if (i<1 || i>length) throw 不合法! item=data[i-1];//获得要删除的元素值 for (j=i; j data[j-1]=data[j]; //注意数组下标从0记 length--; return item; } template void SeqList for(int i=0;i template int SeqList return length; } template int SeqList for (int i=0; i //下标为i的元素等于item,返回其序号i+1 return 0; //查找失败 } template datatype SeqList if (i<1 || i>length) throw 不合法! else return data[i-1]; } template int SeqList if(length==0) return 1; return 0; } template int SeqList if(length<=1) cout<<不存在前驱 for(i=0;i if(data[i-1]==item) return i-1; cout<<表中无此元素} template int SeqList if(length<=1) cout<<不存在后继 for(i=0;i if(data[i-1]==item) return i+1; cout<<表中无此元素} typedef int datatype; void main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; SeqList cout<<表长为: cout<<第5个元素是: cout< cout<<第一个元素前插入元素33后表为: myList.Insert(1,33); myList.display(); cout<<表长为: cout< cout<<删除第一个元素后表为: myList.Delete(1); myList.display(); cout<<表长为: cout< cout<<元素4的前驱位置为: cout<<元素4的后继位置为: cout< cout<<得到第6个元素为: //for(int i=0;i<10;i++) //myList.Insert(i+1,i); } template void SeqList int i,j; //int m=myLista.Length(),n=myListb.Length(); int c[10]; for(i=1;i if(myLista.Get(i)==myListb.Get(j)) { cout<<重复的元素是: myListb.Delete(j); } //else continue; for(i=myLista.Length()+1,j=1;j cout< void main() { int a[]={1,3,5,7,9}; int b[]={1,3,6,8,10}; SeqList cout<<数组为: myListb.display(); cout< myLista.and(myLista,myListb);