迴圈單鏈表

2021-10-05 19:43:48 字數 1489 閱讀 6693

迴圈單鏈表的定義及其基本運算的實現

迴圈鍊錶的結構如下:

帶頭節點的迴圈單鏈表和迴圈雙鏈表的示意圖

//迴圈單鏈表基本運算函式

#include #include typedef int elemtype;

typedef struct lnode //定義單鏈表結點型別

linklist;

void createlistf(linklist *&l,elemtype a,int n)

//頭插法建立迴圈單鏈表

s=l->next;

while (s->next!=null) //查詢尾結點,由s指向它

s=s->next;

s->next=l; //尾結點next域指向頭結點

}void createlistr(linklist *&l,elemtype a,int n)

//尾插法建立迴圈單鏈表

r->next=l; //尾結點next域指向頭結點

}void initlist(linklist *&l)

void destroylist(linklist *&l)

free(p);

}bool listempty(linklist *l)

int listlength(linklist *l)

return(i);

}void displist(linklist *l)

printf("\n");

}bool getelem(linklist *l,int i,elemtype &e)

else //i不為1時

if (p==l)

return false;

else

}} else //單鏈表為空表時

return false;

}int locateelem(linklist *l,elemtype e)

if (p==l)

return(0);

else

return(n);

}bool listinsert(linklist *&l,int i,elemtype e)

else

if (p==l) //未找到第i-1個結點

return false;

else //找到第i-1個結點*p

}}bool listdelete(linklist *&l,int i,elemtype &e)

else //i不為1時

if (p==l) //未找到第i-1個結點

return false;

else //找到第i-1個結點*p

}} else return 0;

}

迴圈單鏈表

include include include include define random x rand x typedef int status typedef int elemtype typedef struct lnode lnode typedef struct linklist link...

迴圈單鏈表

include includetypedef struct node snode snode creat 建立頭結點 t next head 和迴圈雙向鍊錶一樣 在這改就行了 return head int lenth snode l 求鍊錶的長度 return len snode get snod...

迴圈單鏈表

資料結構中迴圈單鏈表的簡單實現以及一些簡單操作的測試。迴圈單鏈表的簡單實現 include include define elemtype char define maxsize 50 using namespace std 定義結構 typedef struct listnode linklist...