C++ 实现静态单链表的实例
C++实现静态单链表的实例
利用数组实现的静态单链表,与严蔚敏书实现略有不同,不另设回收空间。有任何BUG或错误,希望各位朋友多多反馈~~感激不尽
/*Author:Moyiii *Mail:lc09@vip.qq.com *静态链表实现,仅作学习之用,当然如果 *你想拿去用,随你好啦。 */ #includeusingnamespacestd; #defineMAX_LIST_SIZE100 classNode { public: intdata; intcur; }; classSLinkList { public: SLinkList(); //和普通的线性链表区别不是很大。除了两个分配 //和回收节点空间的函数,具体算法请参考课本或 //网络资料 intnewNode(); booldeleteNode(intpos); boolinsertElem(intpos,intelem); booldeleteElem(intpos); int&getElem(intpos); intgetLength(); boolisEmpty(); voidprint(); voidclear(); private: inthead;//这个可以不要,默认等于0 intspace; intlength; Node*elems; }; SLinkList::SLinkList() { //0号位置为头几点,不可以更改,初始指向自己 //从1~MAXLENGTH为可分配节点,最初由space管理 elems=newNode[MAX_LIST_SIZE]; if(!elems) { cout<<"Mallocfailed!"< length+1) { cout<<"InsertOverBound"< length) { cout<<"DeleteNodeoverBound!"< 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!