這裡實現的是設定尾指標的迴圈鍊錶,並帶有頭節點。
#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...