日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何一步步创建链表

發(fā)布時(shí)間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何一步步创建链表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

①.結(jié)構(gòu)體
結(jié)構(gòu)體中分為data(數(shù)據(jù)域)和next(指針)

struct node {int number;char str[10];//這里的我隨意設(shè)置的,想要什么類型自己可以設(shè)置struct node *next; }; //struct結(jié)構(gòu)體

②.創(chuàng)建一個(gè)全空鏈表

struct node *head,*tail,*p; //頭尾和p指針 head = tail =NULL; //必須先設(shè)空,后面才能插入

③.添加

p = (struct node *) malloc(sizeof(node));//賦空間,要注意的是,每次把p插入后必須再次賦予空間 cin>>number>>str;//cin就是C語言中的scanf,即輸入。這里的number和str并不是①中結(jié)構(gòu)體里的,你還得重新設(shè)置過,這里命名相同是沒什么關(guān)系的。 p->number=number; strcpy(p->str,str)//strcpy函數(shù)是字符串復(fù)制,意思就是p->str=str,但是沒這寫法,得用到strcpy函數(shù)。 p->next = NULL;//把p->next賦為NULL,然后head和tail兩個(gè)指針就可以指到p上而不再是NULL,也就是不再為空 if(head==NULL) head=p;//就一步就是上面說的頭指針指向p而不是NULL,這一步只執(zhí)行一次else tail->next=p;//頭指針指向了鏈表頭部后不再移動(dòng),尾指針則不斷移動(dòng),從而使得整個(gè)鏈表不斷往后延伸,如果沒有這一步鏈表不會(huì)往下延伸,只有最開始的一個(gè) tail = p;//tail在這里就相當(dāng)于火炬手,需要把火炬(即p指針)傳下去,p是不斷在更新的。 //它一更新即p = (struct node *) malloc(sizeof(node)),就轉(zhuǎn)世重生沒了記憶,不知道自己是誰,自己在哪,這時(shí)只有tail可以挽救它,把它傳遞下去。

如果沒看懂在紙上稍微畫一下,按照上面的流程推一推。
strcpy詳見strcpy函數(shù)

③的操作可以不斷重復(fù)用來延長鏈表。

實(shí)例:查詢成績(鏈表)

總結(jié)

以上是生活随笔為你收集整理的如何一步步创建链表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。