C++ 实现静态单链表的实例
利用数组实现的静态单链表,与严蔚敏书实现略有不同,不另设回收空间。有任何BUG或错误,希望各位朋友多多反馈~~感激不尽
/* Author : Moyiii * Mail: lc09@vip.qq.com * 静态链表实现,仅作学习之用,当然如果 * 你想拿去用,随你好啦。 */ #includeusing namespace std; #define MAX_LIST_SIZE 100 class Node { public: int data; int cur; }; class SLinkList { public: SLinkList(); //和普通的线性链表区别不是很大。除了两个分配 //和回收节点空间的函数,具体算法请参考课本或 //网络资料 int newNode(); bool deleteNode(int pos); bool insertElem(int pos, int elem); bool deleteElem(int pos); int& getElem(int pos); int getLength(); bool isEmpty(); void print(); void clear(); private: int head;//这个可以不要,默认等于0 int space; int length; Node *elems; }; SLinkList :: SLinkList() { // 0号位置为头几点,不可以更改,初始指向自己 // 从1~MAXLENGTH为可分配节点,最初由space管理 elems = new Node[MAX_LIST_SIZE]; if(!elems) { cout <<"Malloc failed!" < length + 1) { cout <<"Insert Over Bound" < length) { cout <<"Delete Node over Bound!" <
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!