亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++ 實現靜態單鏈表的實例

2020-01-26 14:03:52
字體:
來源:轉載
供稿:網友

C++ 實現靜態單鏈表的實例

利用數組實現的靜態單鏈表,與嚴蔚敏書實現略有不同,不另設回收空間。有任何BUG或錯誤,希望各位朋友多多反饋~~感激不盡

/* Author : Moyiii  * Mail: lc09@vip.qq.com  * 靜態鏈表實現,僅作學習之用,當然如果  * 你想拿去用,隨你好啦。 */  #include <iostream>  using 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!" << endl;   }    head = space = length = 0;    for(int i = 0; i < MAX_LIST_SIZE; ++i)   {     elems[i].data = i;     elems[i].cur = i + 1;   }   elems[MAX_LIST_SIZE - 1].cur = 0;   elems[0].cur = 0;   space = 1; }  //從space指向的備用節點鏈表中取下一個節點 int SLinkList :: newNode() {   if(space == 0)   {     cout << "Space is full!" << endl;     return 0;   }    int pos = space;   space = elems[space].cur;   elems[pos].cur = 0;   return pos; }  //回收節點空間 bool SLinkList :: deleteNode(int pos) {   if(pos == 0)   {     cout << "Free space Error!" << endl;     return false;   }   elems[pos].cur = space;   space = pos;   return true; }  //插入節點,思路類似,找到被刪除節點的前一個節點 //然后更改指向 bool SLinkList :: insertElem(int pos, int elem) {   if(length == MAX_LIST_SIZE)   {     cout << "Space is Full" << endl;     return false;   }    if(pos < 1 || pos > length + 1)   {     cout << "Insert Over Bound" << endl;     return false;   }    int index = head;   for(int i = 1; i <= pos - 1; ++i)   {     index = elems[index].cur;   }    int node = newNode();   if(node == 0)   {     cout << "Space malloc failed" << endl;     return false;   }   elems[node].data = elem;   elems[node].cur = elems[index].cur;   elems[index].cur = node;    length++;   return true; }  //一回事,注意把刪除的節點回收給space bool SLinkList :: deleteElem(int pos) {   if(pos < 1 || pos > length)   {     cout << "Delete Node over Bound!" << endl;     return false;   }    int index = head;    for(int i = 1; i <= pos - 1; ++i)   {     index = elems[index].cur;   }    int node = elems[index].cur;   elems[index].cur = elems[node].cur;    deleteNode(node);    length--;    return true; }  void SLinkList :: print() {   int index = elems[head].cur;   while(index != 0)   {     cout << elems[index].data << " ";     index = elems[index].cur;   }   cout << endl;   return; }  int SLinkList :: getLength() {   return length; }  bool SLinkList :: isEmpty() {   if(length == 0)   {     return true;   }   else   {     return false;   } }  int& SLinkList :: getElem(int pos) {   int index = head;   for(int i = 1; i <= pos; ++i)   {     index = elems[index].cur;   }   return elems[index].data; }  void SLinkList :: clear() {   for(int i = 0; i < MAX_LIST_SIZE; ++i)   {     elems[i].data = i;     elems[i].cur = i + 1;   }   elems[MAX_LIST_SIZE - 1].cur = 0;   elems[0].cur = 0;   space = 1; }  int main() {   //測試數據,測試插入刪除空間是否溢出   SLinkList myList;    for(int i = 1; i <= 105; ++i)   {     myList.insertElem(1,i);   }    //myList.print();    for(int i = 1; i <= 105; ++i)   {     myList.deleteElem(1);   }    //myList.print();    //普通測試    for(int i = 1; i <= 10; ++i)   {     myList.insertElem(1,i);   }    myList.print();   cout << "Length= " << myList.getLength() <<endl;    myList.deleteElem(5);    myList.print();    cout << "Length= " << myList.getLength() <<endl;    cout << myList.isEmpty() << endl;    int &elem = myList.getElem(3);     elem = 99;    myList.print();    myList.clear();    myList.print();    return 0; } 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本韩国欧美精品大片卡二| 91sao在线观看国产| 欧美成人激情视频| 国产在线播放91| 91在线视频一区| 国产精品91一区| 最近2019年手机中文字幕| 久久精品国产96久久久香蕉| 91精品国产91久久久久久不卡| 亲爱的老师9免费观看全集电视剧| 欧美一级bbbbb性bbbb喷潮片| 日韩在线中文字| 久久久国产在线视频| 国产精品久久久久免费a∨大胸| 亚洲精品日韩激情在线电影| 亚洲国产福利在线| 亚洲欧美制服第一页| 一区二区三区黄色| 国产一区二区三区日韩欧美| 北条麻妃99精品青青久久| 97视频在线播放| 欧美重口另类videos人妖| 日韩中文在线视频| 国产一区二区三区欧美| 91wwwcom在线观看| 国产欧美久久久久久| 国产91网红主播在线观看| 国产亚洲在线播放| 91老司机精品视频| 日韩电影免费在线观看| 欧美专区福利在线| 国产做受高潮69| 国产自摸综合网| 久久亚洲综合国产精品99麻豆精品福利| 久热精品视频在线观看| 欧美性猛交xxxx乱大交蜜桃| 欧美大片免费观看在线观看网站推荐| 高跟丝袜一区二区三区| www国产精品com| 亚洲欧美在线磁力| 8050国产精品久久久久久| 精品女同一区二区三区在线播放| 国产色婷婷国产综合在线理论片a| 日韩av理论片| 亚洲视频综合网| 一区二区在线视频播放| 日韩免费av在线| 久久久久久中文| 在线播放国产精品| 欧美裸体xxxx极品少妇| 亚洲精品www久久久| 久久久精品在线| 欧美亚洲国产视频| 欧美一级在线亚洲天堂| 亚洲第一免费网站| 亚洲区免费影片| 欧美一级免费看| 亚洲区中文字幕| 国产日韩av在线播放| 日本人成精品视频在线| 国产91在线播放精品91| 最新亚洲国产精品| 久久精品亚洲精品| 日日狠狠久久偷偷四色综合免费| 亚洲成人网久久久| 成人在线视频网| 欧美日韩国产中文精品字幕自在自线| 成人黄色短视频在线观看| 一区二区中文字幕| 性色av一区二区三区免费| 国产欧美精品日韩| 中文字幕亚洲图片| 亚洲乱码av中文一区二区| 97精品国产97久久久久久春色| 久久夜色精品亚洲噜噜国产mv| 国产中文字幕91| 色婷婷亚洲mv天堂mv在影片| 中文字幕av一区中文字幕天堂| 亚洲精选中文字幕| 精品人伦一区二区三区蜜桃网站| 成人免费网站在线看| 成人午夜在线视频一区| 96精品久久久久中文字幕| 亚洲成av人乱码色午夜| 色偷偷偷亚洲综合网另类| 日韩有码片在线观看| 色天天综合狠狠色| 亚洲xxxx做受欧美| 亚洲人成电影网| 亚洲毛片一区二区| 色哟哟网站入口亚洲精品| 国外成人免费在线播放| 91久久在线播放| 久久久久国色av免费观看性色| 国内精品视频一区| 尤物yw午夜国产精品视频明星| 国产美女被下药99| 国产69精品久久久久9999| 欧美高清一级大片| 久久国产精品视频| 亚洲国产精品国自产拍av秋霞| 日韩免费高清在线观看| 欧美电影免费播放| 欧美一区二区三区四区在线| 国产男女猛烈无遮挡91| 欧美日韩国内自拍| 国内成人精品一区| 成人羞羞国产免费| 不卡av在线播放| 亚洲摸下面视频| 91在线视频免费| 欧美xxxx综合视频| 亚洲欧美国产精品va在线观看| 国产欧美一区二区三区四区| 亚洲一区二区三区视频播放| 久久精品亚洲一区| 国产综合视频在线观看| 欧美丰满老妇厨房牲生活| 91国内在线视频| 黑人欧美xxxx| 最近2019中文字幕第三页视频| 国模叶桐国产精品一区| 精品国内产的精品视频在线观看| 91av在线国产| 亚洲人成在线免费观看| 国产精品第一页在线| 亚洲男人av在线| 亚洲视频一区二区| 亚洲国产精品嫩草影院久久| 日本韩国在线不卡| xxx欧美精品| 色青青草原桃花久久综合| 日韩国产一区三区| 欧美日韩国产一中文字不卡| 国产精自产拍久久久久久| 亚洲成人av片在线观看| 国产精品久久久久久影视| 日韩欧中文字幕| 北条麻妃一区二区在线观看| 国产有码一区二区| 亚洲视频在线观看视频| 亚洲男人天堂2019| 亚洲日韩欧美视频| 国产精品黄色av| 久久久久久久网站| 91精品视频免费观看| 日韩av色综合| 欧美成年人网站| 日韩中文字幕在线视频播放| 91精品国产91久久| 97国产精品视频人人做人人爱| 亚洲精品av在线播放| 精品亚洲精品福利线在观看| 欧美成人免费一级人片100| 欧美有码在线观看| 国产精品久久97| 久久久精品国产亚洲| 久久久久久久电影一区| 91久久久久久国产精品| 久久综合伊人77777| 欧美性猛交xxx| 欧美日韩色婷婷| 国产精品网站视频| 在线亚洲欧美视频|