實現一些簡單的單鏈表

2021-07-12 03:23:49 字數 1410 閱讀 8636

以下都是對單鏈表一些簡單的應用和對一些簡單問題的解決方案。

**如下:

#define _crt_secure_no_warnings  //vs2013中需要加的乙個巨集!

#include#include#includetypedef int datetype;

typedef struct slistnode

slistnode;

列印節點,**如下:

void printfslist(slistnode *&phead)       //列印節點

while (newhead) }

2.建立節點,**如下:

slistnode* _buynode(datetype x)     //建立節點

3.尾插法,**如下:

void pushback(slistnode *&phead, datetype x)     //尾插

else

tail->next = _buynode(x); }}

測試**如下:

4.尾出法,**如下:

void popback(slistnode *&phead)   //尾出

else if (phead->next == null)

else

free(cur);

prev->next = null; }}

測試程式如下:

5.頭插和頭出,**如下:

void pushfront(slistnode *&phead, datetype x)   //頭插

void popfront(slistnode *&phead)  //頭出

else }

測試程式如下:

6.找出某個節點並返回節點的位址

slistnode * find(slistnode *& phead, datetype x)  //找出某個節點並返回節點的位址

newhead = newhead->next;

} return null;

}

本文出自 「零點時光」 部落格,請務必保留此出處

一些單鏈表的東西

單鏈表的遍歷 中間 尾插入 q new node x q next p next p next q 一句話 p next new node x,p next null 頭插入 node q new node x q next head head q 一句話 head new node x,head ...

單鏈表的一些見解

關於q next p next和q p next的理解 假令 q為結點1,p為結點2,即q的物理儲存位址為00293590,q中指標域中儲存位址為00293558,q中資料域為11 即p的物理儲存位址為00293558,q中指標域中儲存位址為00293448,q中資料域為12 q next p ne...

單鏈表的一些操作

1 有頭結點方便對首元資料元素的刪除,插入操作。不帶頭結點要判斷是不是作用在首元,是就得改變頭指標指向。2 頭結點資料域可以存表長。head data k 1 取倒數第k個元素。兩遍。走一遍,定義兩個指標,先走乙個,使兩個之間相差k個位置,再一起移動,走得快的的走到空了,走得慢的的資料域就是指定元素...