最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言編寫一個鏈表

 更新時間:2021年05月31日 11:11:54   作者:兩片空白  
這篇文章主要為大家詳細介紹了C語言編寫一個鏈表,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言編寫一個鏈表的具體代碼,供大家參考,具體內(nèi)容如下

鏈表

具備的基本功能:

1.創(chuàng)建頭鏈表

struct Node* Creatlist(){//創(chuàng)建鏈表頭
 struct Node *headnode = (struct Node*)malloc(sizeof(struct Node));//創(chuàng)建動態(tài)內(nèi)存鏈表,指針變量
 headnode->next = NULL;//鏈表初始化
 return headnode;
}

2.創(chuàng)建節(jié)點

struct Node* Creatnode(int num){//創(chuàng)建結(jié)點,鏈表,參數(shù)數(shù)字域
 struct Node* newnode = (struct Node*)malloc(sizeof(struct Node));//創(chuàng)建動態(tài)內(nèi)存鏈表,指針變量
 newnode->num = num;
 newnode->next = NULL;//鏈表初始化
 return newnode;
}

3.插入節(jié)點

void Insetlist(struct Node* list, int num){//頭插法
 struct Node* insetnode = Creatnode(num);
 if (list != NULL){
  insetnode->next = list->next;
  list->next = insetnode;
 }
 else{
  printf("節(jié)點不存在\n");
 }
}
void Insetlists(struct Node* headnode, int n, int num){//在n節(jié)點處插入,參數(shù)頭節(jié)點,在第n個節(jié)點處插,插入的數(shù)據(jù)num
 int i = 1;
 struct Node *t = headnode;
 while (i < n&& t!= NULL){
  t = t->next;
  i++;
 }
 if (t != NULL){
  struct Node* insetnode = Creatnode(num);
  insetnode->next = t->next;
  t->next = insetnode;
 }
 else{
  printf("節(jié)點不存在\n");
 }
}

4.修改節(jié)點

void Modifynode(struct Node* headnode, int n){//修改節(jié)點,參數(shù)鏈表,修改的第n個節(jié)點
 struct Node* list = headnode;
 int i = 0;
 while (i < n&&list != NULL){
  list = list->next;
  i++;
 }
 if (list != NULL){
  printf("請輸入你要修改的值\n");
  int j = 0;
  scanf("%d", &j);
  list->num = j;

 }
 else{
  printf("節(jié)點不存在\n");
 }
}

5.刪除節(jié)點

定義兩個指針,一個指向刪除節(jié)點的上一個節(jié)點,一個指向要刪除的節(jié)點

void Deletnode(struct Node* headnode, int n){//刪除第n個節(jié)點,
 int i = 1;
 struct Node *strat = headnode;
 struct Node *end = headnode->next;

 while (i < n&&end != NULL){
  strat = strat->next;
  end = end->next;
  i++;
 }
 if (end != NULL){
  strat->next = end->next;
  free(end);

 }
 else{
  printf("節(jié)點不存在\n");
 }
}

6.打印節(jié)點

void Printnode(struct Node* headnode){//打印節(jié)點
 struct Node* list = headnode;
 while ((list->next) != NULL){
  list = list->next;
  printf("%d\t",  list->num);
 }
 printf("\n");

}

7.主函數(shù)

int main(){
 struct Node* list = Creatlist();

 Insetlists(list, 1, 1);
 Printnode(list);
 int i = 0;
 printf("請輸入修改哪個節(jié)點\n");
 scanf("%d", &i);
 Modifynode(list, i);
 Printnode(list);
 printf("請輸入刪除哪個節(jié)點\n");
 int n = 0;
 scanf("%d", &n);
 Deletnode(list, n);
 Printnode(list);
 system("pause");
 return 0;
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言如何實現(xiàn)成績等級判別

    C語言如何實現(xiàn)成績等級判別

    這篇文章主要介紹了C語言如何實現(xiàn)成績等級判別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++中可以接受任意多個參數(shù)的函數(shù)定義方法(詳解)

    C++中可以接受任意多個參數(shù)的函數(shù)定義方法(詳解)

    下面小編就為大家?guī)硪黄狢++中可以接受任意多個參數(shù)的函數(shù)定義方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • C++?using?編譯指令與名稱沖突問題

    C++?using?編譯指令與名稱沖突問題

    using?編譯指令由名稱空間名和它前面的關(guān)鍵字?using?namespace?組成,它使名稱空間中的所有名稱都可用,而不需要使用作用域解析運算符,這篇文章主要介紹了C++?using?編譯指令與名稱沖突,需要的朋友可以參考下
    2022-11-11
  • c語言:基于函數(shù)指針的兩個示例分析

    c語言:基于函數(shù)指針的兩個示例分析

    本篇文章是對c語言中函數(shù)指針的兩個示例做了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言結(jié)構(gòu)體數(shù)組常用的三種賦值方法(包含字符串)

    C語言結(jié)構(gòu)體數(shù)組常用的三種賦值方法(包含字符串)

    C語言只有在定義字符數(shù)組的時候才能用“=”來初始化變量,其它情況下是不能直接用“=”來為字符數(shù)組賦值的,下面這篇文章主要給大家介紹了關(guān)于C語言結(jié)構(gòu)體數(shù)組常用的三種賦值方法,需要的朋友可以參考下
    2022-06-06
  • C語言實現(xiàn)手寫Map(全功能)的示例代碼

    C語言實現(xiàn)手寫Map(全功能)的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C語言實現(xiàn)手寫Map(全功能),文中的示例代碼講解詳細,對我們學(xué)習(xí)C語言有一定幫助,需要的可以參考一下
    2022-08-08
  • Windows下ncnn環(huán)境配置教程詳解(VS2019)

    Windows下ncnn環(huán)境配置教程詳解(VS2019)

    這篇文章主要介紹了Windows下ncnn環(huán)境配置(VS2019),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • C語言全面細致精講關(guān)鍵字的使用

    C語言全面細致精講關(guān)鍵字的使用

    關(guān)鍵字是C語言非常重要的一部分,熟練的掌握和使用關(guān)鍵字有助于我們更加熟悉了解C語言,同時C語言的關(guān)鍵字也是面試筆試中??嫉膬?nèi)容。C語言的關(guān)鍵字共有32個,但并不是每個關(guān)鍵字都有坑,本篇文章將通過理論聯(lián)系實際的方式為大家講解C語言中易混易錯以及常考的一些關(guān)鍵字
    2022-05-05
  • C++之string類對象的容量操作詳解

    C++之string類對象的容量操作詳解

    通過在網(wǎng)站上的資料搜集,得到了很多關(guān)于string類對象的容量操作,通過對這些資料的整理和加入一些自己的代碼,希望能夠給你帶來幫助
    2021-08-08
  • C語言數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的簡單實例

    C語言數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的簡單實例

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的簡單實例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評論

潢川县| 游戏| 莲花县| 清水河县| 扶绥县| 马关县| 兴文县| 应城市| 阿尔山市| 临澧县| 闵行区| 理塘县| 丹东市| 桦川县| 龙川县| 拜城县| 哈巴河县| 盘山县| 滨海县| 安溪县| 城口县| 石河子市| 康平县| 白山市| 南涧| 宿州市| 义乌市| 永年县| 阳泉市| 弥渡县| 丹棱县| 常熟市| 尚义县| 郴州市| 清徐县| 松潘县| 开原市| 大悟县| 迭部县| 泸西县| 上林县|