c語言之單鏈表簡單操作

2021-08-19 03:39:06 字數 992 閱讀 1050

建立鍊錶有倆種方式,一種是頭插法,一種是尾插法,倆種方法大同小異,在此我介紹尾插法。用圖示的方法很好理解。

下面是用尾插法建立鍊錶的**:

struct student

;int n;//記錄存放資料數目

struct student *create()

p2->next=null;

return head;

}//建立過程結束

這裡宣告了兩個指標變數p1和p2,不斷地用p1指向新的結點,緊跟著p2=p1,再用p1指向p2的next,以此往復,直至null,鍊錶就建成了。

這裡用到了print函式,其功能就是將資料進行輸出。**如下:

void print(struct student *head)

while(p);//當p不為空時

}}

這裡的輸出是比較簡單的,然後整個鍊錶的建立輸出就完成了,只要在主函式裡呼叫它們就行了。接下來我們說說鍊錶的插入與刪除。

struct student *insert(struct student *head,int inumber)

記得在主函式中要先呼叫這個函式再進行輸出。

鍊錶的刪除和插入都是同乙個思路,使要刪除的前乙個結點與要刪除的之後的那個結點連在一起,具體的**如下:

void delete(struct student *head,int iindex) 

pre->next=p->next;

n--;

}

這個要遍歷找到要刪除的結點,時間複雜度為o(n),大家可以想想怎樣能不遍歷就能刪除這個結點,使其時間複雜度為o(1).

emmm,今天鍊錶的介紹就到這裡,感興趣的同學可以自己敲敲看。

C語言之單鏈表操作之查詢

二 單鏈表的基本運算 建立了乙個單鏈表之後,如果要進行一些如插入 刪除等操作該怎麼辦?所以還須掌握一些單鏈表的基本演算法,來實現這些操作。單鏈表的基本運算包括 查詢 插入和刪除。下面我們就一一介紹這三種基本運算的演算法,並結合我們建立單鏈表的例子寫出相應的程式。1 查詢 對單鏈表進行查詢的思路為 對...

C語言之單鏈表實現

鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。相比於線性表順序結構,操作複雜。由於...

資料結構C語言之單鏈表簡單實現

include stdafx.h include include 定義單鏈表 typedef struct lnodelnode,linklist int tmain int argc,tchar argv void createlinklist linklist l,int n 使頭結點還原到原始...