c++单链表实现功能

时间:2013-05-23 08:32:44
【文件属性】:

文件名称:c++单链表实现功能

文件大小:3KB

文件格式:TXT

更新时间:2013-05-23 08:32:44

单链表实现功能

#include using namespace std; const int MaxSize=100; template //模板类 class SeqList { public: SeqList() {length=0;} //无参构造函数 SeqList(T a[],int n); //有参构造函数 ~SeqList(){} //析构函数 int Length() {return length;} //求线性表长度 T Get(int i); //按位查找 int Locate(T x); //按值查找 void Insert (int i, T x); // 插入函数 T Delete(int i); //删除函数 void PrintList(); //遍历线性表,按序号依次输出各个元素。 private: T data[MaxSize]; int length; }; template SeqList::SeqList(T a[],int n) //有参构造函数 { if(n>MaxSize)throw"参数非法"; for(int i=0;i void SeqList::Insert(int i,T 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++; } template T SeqList::Get(int i) //按位查找函数 { if(i<1||i>length) throw "查找位置非法"; else return data[i-1]; } template int SeqList::Locate(T x) //按值查找函数 { for (int i=0;i T SeqList::Delete(int i) //删除函数 { if (int length=0)throw "下溢"; if(i<1||i>length)throw "位置异常"; T x=data[i-1]; for(int j=i;j void SeqList::PrintList() // 遍历线性表 { for (int i=0;i s1(a,7); int flag=1; while(flag) { menu(); cin>>j; switch(j) { case 1: { try { cout<<"显示要插入的位序及数值:"<>i>>x; cout<>i; x=s1.Delete(i); cout<<"已删除:"<>x; s1.Locate(x); cout<<"所查数据在第"<


网友评论