//沒有頭結點
#define _crt_secure_no_warnings
#include #include typedef struct list
list;
void creat_list(list **p)//如果鍊錶為空,則建立乙個鍊錶,指標域指向自己,否則尋找尾節點,將
else //輸入的鍊錶不是空的,尋找鍊錶的尾節點,使尾節點的next=新節點。新節點的next指向頭節點
}}void insert(list **pnode, int place, int num) //鍊錶的插入
else //在其他的地方插入節點。 同樣先找到要插入的位置,如果位置超出鍊錶的長度,自動插入隊尾。 tar new 原來是2 }
void delete(list **pnode, int place) //刪除操作
if (place == 1) //如果刪除的是頭節點
else
else
}}int findval(list *pnode, int val) //尋找值
if (node->next == pnode&&node->data != val)//尾節點指向頭節點就跳出,因此還要檢測一次為節點的data
return i;
}void show(list *p)//遍歷,迴圈鍊錶的遍歷最好用do while語句 ,因為頭節點就有值
while (temp != p);
printf("\n");
}int main()
建立迴圈鍊錶
迴圈鍊錶的插入
迴圈鍊錶的刪除
程式執行效果如圖:
C 實現迴圈鍊錶
vs2005執行通過,如有問題,請各位大牛指正。謝謝 注意 迴圈鍊錶含有頭結點 include using namespace std templatestruct node templateclass circlist templatecirclist circlist 初始化時,只有乙個頭結點,...
C 實現雙向迴圈鍊錶
雙向迴圈鍊錶 除錯正常,所有功能均測試 節點類 template class listnode listnode type d,listnode n nullptr,listnode p nullptr data d next n prev p void setdata type d 雙向迴圈鍊錶 ...
C實現迴圈鍊錶及雙向鍊錶
在雙向鍊錶中,結點除含有資料域外,還有兩個鏈域,乙個儲存直接後繼結點位址,一般稱之為右鏈域 乙個儲存直接前驅結點位址,一般稱之為左鏈域。鍊錶的c語言實現之迴圈鍊錶及雙向鍊錶 一 迴圈鍊錶 迴圈鍊錶是與單鏈表一樣,是一種鏈式的儲存結構,所不同的是,迴圈鍊錶的最後乙個結點的指標是指向該迴圈鍊錶的第乙個結...