顺序表的C++程序实现

时间:2015-10-26 13:41:33
【文件属性】:

文件名称:顺序表的C++程序实现

文件大小:4KB

文件格式:TXT

更新时间:2015-10-26 13:41:33

顺序表 C++

用模板方式实现顺序表的合并 #include "stdafx.h" #include #define MaxSize 100 template class SeqList { private: T * Mylist; int ListMaxSize; int Length; public: SeqList(int ListMaxSize=MaxSize); //构造函数 ~SeqList(void);// 析构函数 bool SLIsEmpty(void); // 判断表是否为空 bool SLIsFull(void);//判断表是否满 int ListLength(void){return Length;}//求表长度 T SLGetElem(int i); // 取得第i个元素的值 int SLFind(T & x,int index); //查找值为x的结点 bool SLInsert(int i,T & x); // 在表的第i个位置插入新结点 bool SLDelete(int i); // 删除表的第i个位置的结点 void CreateList(int num);// 创建一个包含num个元素的顺序表 void SLPrint(); //输出全体元素 }; template SeqList ::SeqList(int listMaxSize) //初始化顺序表 { if(listMaxSize>0){ ListMaxSize=listMaxSize; Length=0; Mylist=new T [ListMaxSize]; // 创建连续的表空间 } } template SeqList ::~SeqList(void) { delete [] Mylist;//删除表,释放表空间 } template void SeqList ::CreateList(int num) { T x; Length=0; cout << "请输入"<>x; Mylist[i]=x; Length++; } } template bool SeqList ::SLIsEmpty(void) // 判断表是否为空 { return (Length<=0)?true:false; //表空则返回真(true),否则返回假(false) } template bool SeqList ::SLIsFull(void)//判断表是否满 { return(Length>=ListMaxSize)?true:false; //表满则返回真(true),否则返回假(false) } template T SeqList ::SLGetElem(int i) // 取得第i个元素的值 { return(i<0 || i>Length-1)?-1:Mylist[i]; } template int SeqList ::SLFind(T & x,int index) //查找值为x的结点 { for(int i=0;i bool SeqList ::SLInsert(int i,T & x) // 在表的第i个位置插入新结点 { if(i<0 || i>Length) {cout <<"参数i不合理!" <i;j--) Mylist[j]=Mylist[j-1]; Mylist[j]=x; Length++; return true; } } template bool SeqList ::SLDelete(int i) // 删除表的第i个位置的结点 { if(i<0 || i>Length) {cout <<"参数i不合理!" < void SeqList ::SLPrint(void) //输出全体元素 { if (SLIsEmpty()) cout<<"空表! 无元素可输出"< &ListA;,SeqList &ListB;) { cout<<"两个参数对象的顺序表:"< myListA(20),myListB(30); int LenA,LenB; cout<<"请输入需要建立的第一个顺序表 myListA 的长度: "; cin>>LenA; cout<>LenB; cout<


网友评论

  • 在visual studio 201中现实时,有些错误,以及有些没有必要设置的变量,整体来说,简单,实现方便。
  • 比较好,简单