C語言資料結構第二章 用鍊錶的實現的線性表

2021-10-02 21:17:29 字數 2097 閱讀 9419

這些東西,重要的是節點的定義,他們的連線方式,剩下的就是實現了。

鍊錶的迴圈

定義乙個結構體指標,從head開始,一直next到最後的null,就是常用的鍊錶迴圈

for

( p = plist->head; p; p =p->next)

typedef

struct nodenode;

定義headnode *head = null;怎麼往煉表內增加乙個新元素

node *p =

(node*

)malloc

(sizeof

(node));

//申請一塊新的節點,p是plus的意思

p->value = number;

p->next =

null

;在這裡插入**片

怎麼把之前最後的節點連上最新的節點

node *last = head;

//從第乙個開始

if( last )

//該函式出來之後就是最後節點了

// 下邊還有else

6.2 最後節點和最新的連線

last->next = p;

}else

把這個功能從主函式抽出來做函式

多做乙個結構來包含指向head的指標,這樣的話就能把head結構的位址傳入函式,從而能讓函式改變結構體的值。

保留修改要傳該值的指標進函式,*

void

add(list *plist,

int number)

;add

(&list, number)

;typedef

struct _list list;

做更多的功能函式,

for

( p = plist->head; p; p = q)

// 2020/2/13

//最簡單的鍊錶,最純粹的享受

//是看浙大的翁凱的mooc寫的,從那入門

#include

#include

typedef

struct _node node;

typedef

struct _list list;

void

add(list *plist,

int number)

;void

print

(list *plist)

;void

find

(list *plist)

;void

delete

(list *plist)

;int

main()

}while

( number !=-1

);print

(&list)

;find

(&list)

;delete

(&list)

;print

(&list)

;return0;

}void

add(list *plist,

int number)

//attach

last->next = p;

}else

}void

print

(list *plist)

}void

find

(list *plist)}if

(!isfound)

}void

delete

(list *plist)

else

} beforeit = it;}if

(isfound ==0)

else

}

這個編輯器有點用不慣,不過比那個富文字編輯器好用點…

不想寫串和陣列的結構啊啊啊啊…不過還是得寫吧,都實現一遍才能說學過了,估計得過兩天才能寫到樹了…

C語言資料結構第二章 靜態鍊錶

在很多時候需要根據此時的輸入來控制上乙個位置的引數 在輸入的時候,讀到 1結束,此時要讓上乙個陣列的cur指向0,可以 多用乙個temp存著上乙個陣列的下標,然後head temp cur 0 先判斷這個數有沒有結束,再讓data cur進入下乙個陣列位置head data cur cur定義節點,...

資料結構 C語言描述 第二章(1) 順序表

寫在前面 唉,我們學校通訊工程大二不學資料結構,實在無奈,只能自己硬補一發了。我看的是耿國華的書,不是很有名,但是還是比較實用的,每章當中的每種資料結構的基本操作我都會用c語言自己實現一遍,但是後面的習題我會挑著做,基本就是把一章中最難的做掉,剩下的隨便吧,下學期的課會有演算法,自己也會多看一點演算...

第二章 資料結構 二

知識點 trie樹 並查集,堆的操作 高效地儲存和查詢字串集合的資料結構 const int n 100010 int son n 26 cnt n idx 插入 void insert char str cnt p 以這個點結尾的字元數 查詢 intquery char str return cn...