如何用c語言建立連結串列實現增刪改查

2021-05-04 18:25:50 字數 2812 閱讀 8273

1樓:匿名使用者

#include

#include

#include

//先定義一種student型別,表示一個學生的資訊,如下:

typedef struct student

student;

//定義一種node型別,表示一個結點資訊,如下:

typedef struct node

node;

//1、寫出建立一個帶頭結點的線性連結串列的函式,其中每個結點包括學號、姓名、分數三個資料域。函式形式如下:

node *creat_link(int direction)

}else if(direction==0) //當direction為0時,新建立的結點成為第一個結點

}return head;

}//2、寫出輸出上述連結串列各結點資料域值的函式。該函式對應的函式需要一個形參,表示連結串列的頭指標,形式如下:

void print_link(node *head)

//該函式能輸出head所指的連結串列的所有結點值,輸出形式如下:

/*本函式輸出線性表sq中所有資料,形式如下:

學號 姓名 分數

12 張三 234.5

18 李四 987.7

……… ……… …….*/

}//3、寫出在連結串列中刪除結點的函式

int del_link(node *head,char name)

else

}if(p!=null)

else

//刪除head所指的連結串列中,名字為name的結點,刪除成功返回1,不成功返回0

}//4、寫出在連結串列中插入結點的演算法

int insert(node *head,student x,int wz)

else

if(p==null)

if(i=wz-1)

}return jg;

//該函式能夠在wz這個結點之前,插入一個新結點,新結點的資料域為x。插入成功返回1,不成功返回0。

}//5、寫出主函式,分別呼叫上面演算法所對應的程式,建立連結串列,並輸出連結串列的值。

void main()

else

//呼叫函式,在連結串列中刪除一個指定結點的值,如果刪除成功,輸出新連結串列

printf("\n\n請輸入要刪除的學生的姓名:");

getchar();

gets(xm);

if(del_link(head,xm)==1)

else}

2樓:匿名使用者

連結串列作業

#include

#include

#include

//先定義一種student型別,表示一個學生的資訊,如下:

typedef struct student

student;

//定義一種node型別,表示一個結點資訊,如下:

typedef struct node

node;

//1、寫出建立一個帶頭結點的線性連結串列的函式,其中每個結點包括學號、姓名、分數三個資料域。函式形式如下:

node *creat_link(int direction)

}else if(direction==0) //當direction為0時,新建立的結點成為第一個結點

}return head;

}//2、寫出輸出上述連結串列各結點資料域值的函式。該函式對應的函式需要一個形參,表示連結串列的頭指標,形式如下:

void print_link(node *head)

//該函式能輸出head所指的連結串列的所有結點值,輸出形式如下:

/*本函式輸出線性表sq中所有資料,形式如下:

學號 姓名 分數

12 張三 234.5

18 李四 987.7

……… ……… …….*/

}//3、寫出在連結串列中刪除結點的函式

int del_link(node *head,char name)

else

}if(p!=null)

else

//刪除head所指的連結串列中,名字為name的結點,刪除成功返回1,不成功返回0

}//4、寫出在連結串列中插入結點的演算法

int insert(node *head,student x,int wz)

else

if(p==null)

if(i=wz-1)

}return jg;

//該函式能夠在wz這個結點之前,插入一個新結點,新結點的資料域為x。插入成功返回1,不成功返回0。

}//5、寫出主函式,分別呼叫上面演算法所對應的程式,建立連結串列,並輸出連結串列的值。

void main()

else

//呼叫函式,在連結串列中刪除一個指定結點的值,如果刪除成功,輸出新連結串列

printf("\n\n請輸入要刪除的學生的姓名:");

getchar();

gets(xm);

if(del_link(head,xm)==1)

else}

3樓:匿名使用者

這個是c語言最基礎的了,c語言書上有例子,建議學好、用好。

4樓:匿名使用者

額, 你還是自己去看資料結構吧。不懂再來吧。

伸手黨相當的可恥的說

雙向連結串列的建立c++中如何編寫一個程式實現雙向連結串列的建立,插入和刪除

如何用C語言實現dirabc 功能

include include include define rp f 需要進行查詢的目錄 define fa 需要查詢的檔案型別 void find char c,file fp tmp 255 strcpy tmp,c while dr dr findnext fb while df int m...

如何用批處理或者c語言建立pppoe撥號連線

開啟桌面 網路 圖示之後,滑鼠右鍵點選 屬性 點選網路屬性之後,可以進入網路和共享中心。或者通過工作列右下角開啟 開啟網路和共享中心 然後在網路和共享中心中,開啟找到 設定新的連線或網路 彈出的設定連線或網路中,點選選擇 連線到internet 第一項,然後下一步。如當前有寬頻連線就會提示資訊 如桌...

請教如何用C語言實現10進位制轉換5進位制的轉換器

這是我資料結構課上老師留的課堂作業,但是此 並非本人原創。但已通過驗證。這個 可以把十進位制的轉換成任意進位制的。include include define stack init size 50 define stack increment 10 棧定義 typedef structstack 構...