C++ 数据结构线性表-数组实现
C++数据结构线性表-数组实现
线性表的数组实现,实现几个核心的功能,语言是C++,如果有更好的想法和意见,欢迎留言~~~
/*Author:Moyiii *线性表的数组实现,仅作学习之用,当然如果 *你想拿去用,随你好啦。 */ #includeusingnamespacestd; //顺序表 classSeqList { public: //构造函数,接受一个默认的列表大小 SeqList(intsize=MAX_LIST_SIZE); //析构函数,释放elems占用的内存空间 ~SeqList(); //清空表 voidclear(); //判断表是否为空 boolisEmpty(); //获得表的当前元素个数 intgetLength(); //在第pos个元素位置之前插入一个新元素 boolinsertElem(intpos,intelem); //删除第pos个元素 booldeleteElem(intpos); //打印表中元素 voidprint(); int*elems;//表元素, private: staticconstintMAX_LIST_SIZE; intm_length;//表的元素个数 intm_size;//表的当前最大长度 }; SeqList::SeqList(intsize) { //size不可以小于零,也不可以超过系统规定最大长度 //否则做截断处理 if(size>MAX_LIST_SIZE) { m_size=MAX_LIST_SIZE; } elseif(size<0) { m_size=0; } else { m_size=size; } elems=newint[m_size]; m_length=0; if(!elems) { cout<<"Spaceallocatefailed!"< m_length+1) { cout<<"OverBound!"< =pos-1;--i) { elems[i+1]=elems[i]; } elems[pos-1]=elem; m_length++; returntrue; } boolSeqList::deleteElem(intpos) { if(pos<1||pos>m_length) { returnfalse; } for(inti=pos-1;i<=m_length-1;++i) { elems[i]=elems[i+1]; } m_length--; returnfalse; } voidSeqList::print() { for(inti=0;i 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!