如何c語言建立單鏈表,如何C語言建立單鏈表

時間 2021-09-05 11:55:52

1樓:小甜甜愛亮亮

c語言建立單鏈表如下:

#include"stdio.h"

#include"stdlib.h"

#include"malloc.h"

#include "iostream.h"

typedef struct node

int  data;

node * next;

}node , * list;

void create(int n)

{int c;

list s,l;

l=(list)malloc(sizeof(node));

l->next=null;

printf("請輸入第1個資料:");

scanf("%d",&c);

l->data=c;

for(int i=2;i<=n;i++){s=(list)malloc(sizeof(node));

printf("請輸入第%d個資料:",i);

scanf("%d",&c);

s->data=c;

s->next=l;

l->next =s;

printf("鍊表建立成功!");

void main()

int n;

printf("請你輸入鍊表的個數:");

scanf("%d",&n);

create(n);

單鏈表建立方法:

單鏈表的建立有頭插法、尾插法兩種方法。

1. 頭插法

單鏈表是使用者不斷申請 儲存單元和改變鏈結關係而得到的一種特殊 資料結構,將鍊表的左邊稱為鏈頭,右邊稱為鏈尾。頭插法建單鏈表是將鍊表右端看成固定的,鍊表不斷向左延伸而得到的。頭插法最先得到的是尾結點。

由於鍊表的長度是隨機的,故用乙個while迴圈來控制鍊表中結點個數。假設每個結點的值都大於o,則迴圈條件為輸入的值大於o。申請 儲存空間可使用malloc()函式實現,需設立一申請單元 指標,但malloc()函式得到的指標並不是指向 結構體的指標,需使用 強制型別轉換,將其轉換成結構體型指標。

剛開始時,鍊表還沒建立,是一空鍊表,head 指標為null。

鍊表建立的過程是申請空間、得到資料、建立鏈結的迴圈處理過程。

2. 尾插法

若將鍊表的左端固定,鍊表不斷向右延伸,這種建立鍊表的方法稱為尾插法。尾插法建立鍊表時,頭 指標固定不動,故必須設立乙個搜尋指標,向鍊表右邊延伸,則整個演算法中應設立三個鍊表指標,即頭指標head、搜尋指標p2、申請單元指標pl。尾插法最先得到的是 頭結點。

2樓:環暢然

1、建立節點的結構體型別,裡面要有乙個指向此型別結構的指標。2、建立乙個頭指標,乙個尾指標3、每次有新節點進入鍊表時,用malloc分配空間,然後用鍊表尾端的節點指標指向新節點,新節點的指標指向null。這只是個大概的流程,如果看不懂,可以看一下資料結構相關的書

3樓:匿名使用者

wdwqeqeqds

4樓:小雯傻豬

c語言連結串列排序,C語言連結串列排序

問明 include stdafx h include stdlib h 建立一個節點,data為value,指向null node create intvalue node head node malloc sizeof node head data value head next null re...

C語言連結串列與結構體,c語言結構體與連結串列

北風微風 include include define null 0 define len sizeof struct student struct student int n struct student creat void if n 0 head null p2 next null free ...

c語言前景如何,C語言前景如何

呵呵,我是學測控專業的,c語言是所有編寫程式的基礎,很多的以後的語言和程式都是基於它的基礎之上的!學吧,它只是基礎,就像中學和大學,中學只是為了大學而鋪墊的!你說中學的前景怎麼樣? 不要理別人說什麼,只要自己忠於這個專業就行了,至於前景如是靠你自己學得好不好,好的話,金子在那都會發亮的,要想在程式設...