單向鍊錶的操作

2021-06-24 11:11:40 字數 637 閱讀 3102

#include using namespace std;

typedef char elemtype;//定義char型別的elemtype,方便修改

typedef struct lnode//定義乙個結構體

linklist;

void initlist(linklist * & l)

void createlist (linklist * &l,elemtype a,int n)//插入資料

}int locateelem(linklist *l,elemtype e)//查詢元素

if(!p)//查詢完了,沒找到

if(!p)

}void listdelete(linklist * &l,int i)//刪除乙個元素(位置)

if(!p)

putchar('\n');

}void destroylist (linklist *&l)//銷毀鍊錶

//free(p);//要不要?

free(l);//釋放head

l->next=null;

cout<<"銷毀完成!"<}int main(int argc, const char * argv)

}}

單向鍊錶操作

今天花了一天時間把單向鍊錶的建立,增加,刪除,修改,查詢,遍歷等問題用c 實現了一遍,把以前好多模糊的地方,終於弄清楚了。現在把這些內容記錄下來。1.建立單向鍊錶結點 我們通常用乙個結構體表示鍊錶結點,如下 struct listnode 2.插入新結點 bool insertlistnode li...

單向鍊錶的操作

1.單向鍊錶的建立 鍊錶建立後,其實,此時我們只可以知道head,而後通過head訪問每乙個節點成員。這是比較簡單的鍊錶,其中沒有其它的資訊了。如果需要建立有環的鍊錶,則將尾節點的next指標指向中間乙個節點即可。首先找到尾節點,而後將尾部節點的next指向中間乙個節點即可。如何判斷乙個鍊錶是否存在...

單向鍊錶的操作

has head list.h ifndef has head list h define has head list h define crt secure no warnings include include include define debug format,do while 0 def...