C語言 單向鍊錶

2022-04-06 01:25:44 字數 1885 閱讀 9184

1、單向鍊錶的定義

struct

student

;

next作為同型別指標,指向與它所在節點一樣的節點。

1)建立鍊錶

int

main()

/*

定義建立函式create,建立乙個有n個節點的單向鍊錶

*/struct student *create(int

n) ptail->next =null;

return

head;

}

2)遍歷鍊錶

/*

定義輸出鍊錶節點資訊函式print,形參head為煉表頭指標

*/void print(struct student *head)

}

3)在鍊錶中插入節點

/*

定義函式insert,在有序鍊錶中插入乙個節點,使鍊錶按score成員從大到小排列節點

*/struct student* insert(struct student *head)

else

pold->next =pnew;

pnew->next =p;

}return

head;

}

4)在鍊錶中刪除節點

/*

定義函式pdelete,在鍊錶中刪除所有成員score值大於等於grade值的節點。

*/struct student *pdelete(struct student *head, int

grade)

if (head == null) return

head;

p = head->next;

pold = head; //

pold指向剛才已檢查過的結點。

while (p !=null)

else

}return

head;

}

題目1

/*

輸入n個學生的資訊(姓名,成績),根據成績資料建立乙個鍊錶,使煉表中的節點按成績從高到低連線起來。

*/#include

#include

struct

student

;struct student* insert(struct student *);

void print(struct student *);

intmain()

print(head);

return0;

}

題目2

/*

輸入n個學生的資訊(姓名、成績),輸出所有學生的節點資訊,刪除鍊錶中所有不參加補考同學的節點,最後再輸出要補考學生的節點資訊

*/#include

#include

struct

student

;struct student* insert(struct student *);

void print(struct student *);

struct student *create(int

);struct student *pdelete(struct student *, int

);int

main()

單鏈表氣泡排序

修改資料,或者 先全部修改,再還原指標(這裡用第二種方法)

pi =head;

while (pi->next !=null)

pj = pj->next;

}pi = pi->next;

}

C語言 單向鍊錶

1.c語言單向鍊錶 2.鍊錶的 增,刪,查,遍歷 author mr.long date 2015 12 1 15 24 26 include include 結構定義 struct node 函式定義 void printnode struct node head struct node addf...

C語言單向鍊錶實現

include include typedef struct node listnode typedef listnode linklist 帶頭節點的單鏈表 初始化單鏈表只有頭節點 void initlinklist linklist linklist 建立乙個單鏈表 linklist creat...

C語言之單向鍊錶

1,單向鏈簡潔。單向鍊錶 單鏈表 是鍊錶的一種,其特點是鍊錶的鏈結方向是單向的,對鍊錶的訪問要通過順序讀取從頭部開始 鍊錶是使用指標進行構造的列表 又稱為結點列表,因為鍊錶是由乙個個結點組裝起來的 其中每個結點都有指標成員變數指列表中的下乙個結點 列表是由結點構成,由head指標指向第乙個成為表頭的...