#include#include#includeusing namespace std;
typedef struct node
node,*pnode;
typedef struct list
list,*plist;
plist listinit(void)
// 非迴圈鍊錶插入頭部
int insertlist(plist plist,pnode pnode)
else
return 0;
} else }
// 找到id的節點並返回
pnode seachlist(plist list,int id)
if(tmp != null)
else
return tmp;
}//刪除節點時注意釋放記憶體空間
int deletenode(plist list,int id)
else if(tmp == list->tail)
else
printf("delet id = %d\n",tmp->id);
free(tmp);
return 0;
} else
}else }
int deletefromhead(plist list)
printf("delete id=%d success\n",tmp->id);
free(tmp);
return 0;
} else }
int destroylist(plist list)
free(list);
return 0;
}void printlist(const char* s,plist list) }}
int main(void)
列印不是很好,自己手寫除錯**,歡迎指正和提問。謝謝支援!
資料結構 雙向迴圈鍊錶
近期我在學習資料結構,於是我自己整理了單鏈表 迴圈單鏈表 雙向鍊錶 雙向迴圈鍊錶的相關 以鞏固這段時間的學習,也希望能夠幫助初學者,希望大家在閱讀以下 時發現問題糾正於我,一起 cycdoublelist.h ifndef cycdoublelish h define cycdoublelish h...
資料結構 雙向迴圈鍊錶
typedef struct node node,pnode pnode init dc list void 雙向迴圈鍊錶的初始化 pnode new node int dat 新建乙個節點 把位址為pnew的節點插入到雙向迴圈鍊錶的尾部 頭節點的前面 bool list add tail pnod...
資料結構 雙向鍊錶,迴圈鍊錶
也許是自己太小看資料結構,練習了幾天還在第二章徘徊,可自己覺得基礎還是要打牢的好 總結一下 第乙個是雙向鍊錶,include include typedef struct node node,linklist void creat linklist l else int insert linklis...