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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

C语言链表的来源分析

發(fā)布時間:2024/4/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言链表的来源分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

C語言中的鏈表是重點,也是難點,而且意義非凡。對鏈表的的抽象和恐懼是源于對它的來龍去脈的不明白。所以很有必要對它的發(fā)展淵源做透徹分析。

鏈表的單位是節(jié)點,而節(jié)點源于復(fù)合數(shù)據(jù)類型:結(jié)構(gòu)體;

節(jié)點和結(jié)構(gòu)體的區(qū)別就是看是否有指針域,目的就是想找到下一個節(jié)點;

結(jié)構(gòu)體形如:

struct Ghost

{

char name[30];

int age;

int height;

char addr[30];

};

節(jié)點形如:

struct Ghost

{

char name[30];

int age;

int height;

char addr[30];

struct Ghost *next;

};

現(xiàn)在來看一下創(chuàng)建1個節(jié)點的情況:

效果如下:

那么申請多個節(jié)點呢?如3個。

核心代碼如下:

//堆中申請變量

struct Ghost *g1 = (struct Ghost*)malloc(sizeof(struct Ghost));

struct Ghost *g2 = (struct Ghost*)malloc(sizeof(struct Ghost));

struct Ghost *g3 = (struct Ghost*)malloc(sizeof(struct Ghost));

//賦值

strcpy(g1->name, "聶小倩");

g1->age = 22;

g1->height = 165;

strcpy(g1->addr, "蘭若寺");

g1->next = NULL;

//賦值

strcpy(g2->name, "付清風(fēng)");

g2->age = 23;

g2->height = 166;

strcpy(g2->addr, "十里亭");

g2->next = NULL;

//賦值

strcpy(g3->name, "東方不敗");

g3->age = 24;

g3->height = 167;

strcpy(g3->addr, "黑木崖");

g3->next = NULL;

//遍歷

printf("姓名:%s", g1->name);

printf("年齡:%d", g1->age);

printf("身高:%d", g1->height);

printf("地址:%s", g1->addr);

//遍歷

printf("姓名:%s", g2->name);

printf("年齡:%d", g2->age);

printf("身高:%d", g2->height);

printf("地址:%s", g2->addr);

//遍歷

printf("姓名:%s", g3->name);

printf("年齡:%d", g3->age);

printf("身高:%d", g3->height);

printf("地址:%s", g3->addr);

效果圖:

成功是成功了,但這很原始,可以改進的:借助成員指針的力量自動去找下一個,讓鏈起來!

對賦值做改動:

那么遍歷就可以改進了:

效果:

這樣,我只要知道第1個節(jié)點的位置,后面的就可以一股腦的扯出來。這就是鏈表。

特點:鏈表是一連串節(jié)點鏈起來的,是線性特點。只要拿第1個節(jié)點,就可以把一堆的節(jié)點都找到。就像貪吃蛇一樣,蛇頭走到哪里,蛇身和蛇尾就跟到哪里。

和數(shù)組類似,數(shù)組的第1個元素的首地址就是數(shù)組的地址;鏈表的第1個節(jié)點的地址就是鏈表的首地址;

接下來就可以封裝出操作鏈表的函數(shù)了,如:遍歷鏈表,添加節(jié)點,刪除節(jié)點,統(tǒng)計節(jié)點。

更多詳細(xì)的鏈表分析參考《C語言,好爽》第7版(2017年)寧采臣錄制的。


轉(zhuǎn)載于:https://blog.51cto.com/ningcaichen66/1969643

總結(jié)

以上是生活随笔為你收集整理的C语言链表的来源分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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