迴圈單鏈表的定義及其基本運算的實現
迴圈鍊錶的結構如下:
帶頭節點的迴圈單鏈表和迴圈雙鏈表的示意圖
//迴圈單鏈表基本運算函式
#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...