迴圈鍊錶的簡單實現

2021-09-30 14:29:42 字數 1256 閱讀 2965

這裡實現的是設定尾指標的迴圈鍊錶,並帶有頭節點。

#include #include #include typedef int celemtype;

using namespace std;

typedef struct cnode

cnode,* clinklist;

///初始化迴圈鍊錶,設立尾指標c

bool initclinklist_c(clinklist &c)

///銷毀迴圈鍊錶

void destroyclinklist_c(clinklist &c)

free(c);

c=null;

}}///清空迴圈鍊錶

void clearclinklist_c(clinklist &c)

c=c->next;

c->next=c;

free(q);

q=null;

}}///查詢迴圈鍊錶中的第i個元素,並用e返回

void getelem_c(clinklist c,int i,celemtype &e)

else

printf("i is not correct!\n");

}else

printf("the clinklist is not exist or null!\n");

}///在第i個位置前插入元素e

void insertclinklist_c(clinklist &c,int i,celemtype e)

}else

printf("clinklist is not exist!\n");

}///刪除第i個元素,並用e返回

void deleteelem_c(clinklist &c,int i,celemtype &e)

else

printf("i is not correct!\n");

}else

printf("the clinklist is not exist or null!\n");

}///列印迴圈鍊錶中的元素

void printclinklist_c(clinklist c)

printf("%d\n",c->data);

}else

}///合併兩個迴圈鍊錶,合併後的鍊錶為cb

void mergeclinklist_c(clinklist &ca,clinklist &cb)

}int main()

迴圈鍊錶的實現

模擬單鏈表的實現方法,這裡我用乙個簡單案例來實現一下迴圈鍊錶的基本功能 1.用前插法建立乙個迴圈鍊錶 假設依次放入 1,2,3,4,5,那麼其內部儲存方式應為 5,4,3,2,1 後插法我就不寫了,和前插法一樣的,只是儲存方式是正序,可以自己實現一下。2.在第1個位置插入 6 3.查詢 3和 7是否...

迴圈鍊錶的實現

1.標準的迴圈鍊錶與一般鍊錶多了個游標,多了3個游標操作函式。2.迴圈鍊錶api的寫法與一般鍊錶大致一樣,只有0號節點的增加和刪除需要注意,還有一次節點的插入和最後乙個節點的刪除需要注意,刪除時光標的移動需要注意。3.迴圈鍊錶相對於一般鍊錶並無多大效能上的增強,只是讓鍊錶解決約瑟夫問題十分方便。ci...

鍊錶的簡單實現

include include typedef int elemtype typedef struct listnode pnode 建立鍊錶 pnode createlist void printf 請輸入第 d個節點的資料 n i scanf d val pnew element val pta...