資料結構2迴圈鍊錶

2021-09-24 18:48:49 字數 1247 閱讀 2768

尾結點指向頭結點的單鏈表。解決了單鏈表無法查詢某一結點的問題。

結點定義方式

#define maxsize 20//定義陣列的最大長度 

typedef struct clinklist

mode;

類似單鏈表。

迴圈鍊錶的初始化:

//初始化迴圈鍊錶

void ds_init(mode **pnode)//**pnode 指向鍊錶的第乙個結點

else

}}

包含了單鏈表無法精確定位的插入,查詢,刪除操作。

#include#includetypedef struct clinklist

node;

//這裡跟上文又有些微的不同,所以重新寫了一下

void ds_insert(node **pnode,int i)

else

//假如i=3 迴圈2次 target指向了第三個元素

temp = (node *)malloc(sizeof(struct clinklist));

if(!temp)

exit(0);

temp->data = item;

p = target ->next;

target->next = temp;

temp->next = p;

}}

typedef struct clinklist

node;

//這裡邊node成為了結構體clinklist

//刪除結點

void ds_delete(node **pnode,int i) //此函式需要的兩個引數:指向鍊錶的第乙個結點,刪除的位置

else

temp = target->next;

target->next = temp ->next;

free (temp);

}}

//返回**所在位置

#include#includetypedef struct clinklist

node;

int ds_search(node *pnode,int elem)

if(target->next == pnode)

return 0;

else

return 1;

}

資料結構 迴圈鍊錶

近期我在學習資料結構,於是我自己整理了單鏈表 迴圈單鏈表 雙向鍊錶 雙向迴圈鍊錶的相關 以鞏固這段時間的學習,也希望能夠幫助初學者,希望大家在閱讀以下 時發現問題糾正於我,一起 cyclinklist.h ifndef cyclinklist h define cyclinklist h inclu...

資料結構 迴圈鍊錶

迴圈鍊錶的結點 typedef struct circularnodecircularnode 迴圈鍊錶結構 typedef struct circularlinklistcircularlinklist 在迴圈鍊錶的指定位置插入元素 void insertcircularlinklist circ...

資料結構 迴圈鍊錶

start reading 在知道熟悉單鏈表的操作後,我們知道鍊錶有乙個資料域存放具體的資料,有乙個next域存放後繼的位址,如果我們將尾結點的next域指向之前的任意乙個節點,那麼就形成了乙個環。下面我們就來說說迴圈鍊錶 如圖就是乙個迴圈鍊錶 在對迴圈鍊錶進行操作時要注意尾結點的後繼不是null,...