国产精品999,99热在线观看,99国产精品99久久久久久,欧美性猛交99久久久久99按摩

第6個不是真的吧?新鮮出爐(單鏈表逆置)逆轉(zhuǎn)單鏈表-單向鏈表_學(xué)到牛牛

1、單鏈表

單鏈表是一種鏈?zhǔn)酱嫒〉臄?shù)據(jù)結(jié)構(gòu),用一組地址任意的儲存單元存放線性表中的數(shù)據(jù)元素。鏈表中的數(shù)據(jù)是以結(jié)點(diǎn)來表示的,每個節(jié)點(diǎn)的構(gòu)成:元素(數(shù)據(jù)元素的映像)+指針(指示后繼元素存儲位置),元素就是存儲數(shù)據(jù)的數(shù)據(jù)單元,指針就是連接每個結(jié)點(diǎn)的地址數(shù)據(jù)。

2、單鏈表的數(shù)據(jù)結(jié)構(gòu)

head為頭結(jié)點(diǎn),不存放任何數(shù)據(jù),它的作用是充當(dāng)一個指向鏈表中真正存放數(shù)據(jù)的第一個節(jié)點(diǎn)

其中DATA為數(shù)據(jù)域,該內(nèi)存存放的是數(shù)據(jù);NEXT是地址域,數(shù)據(jù)類型為指針,該內(nèi)存存放的是下一段內(nèi)存的內(nèi)存地址。

3、有頭鏈表

有頭鏈表指的是鏈表初始化時就有一個頭結(jié)點(diǎn),并且頭指針始終指向該頭結(jié)點(diǎn),該頭結(jié)點(diǎn)的數(shù)據(jù)域不存在數(shù)據(jù)。如圖所示

4、循環(huán)鏈表

循環(huán)鏈表指的是鏈表的尾節(jié)點(diǎn)指針指向頭節(jié)點(diǎn)地址,從而形成環(huán)狀如圖:

源碼如下:

#include <stdio.h>

struct link //結(jié)構(gòu)體

{

int data; //數(shù)據(jù)域

struct link *next; //指針域

};

int main()

{

struct link n0, n1, n2;

n0.data = 10;

n1.data = 20;

n2.data = 30;

n0.next = &n1;

n1.next = &n2;

n2.next = NULL;

printf("%d\n", n0.data);

printf("%d\n", n0.p->data);

printf("%d\n", n1.p->data);

return 0;

}

5、*“.”和“->”的區(qū)別

C語言中“.”的意思是給的是立即數(shù)地址,“->”的意思是給的是指針。"."的左操作數(shù)為值,"->"的左操作數(shù)為指針。"."和"->"實際是可以合并為一個操作符的,在很多新語言中對值和指針取成員已經(jīng)統(tǒng)一為"."了,C中保留只是一種傳統(tǒng)的延續(xù)。

6、*結(jié)構(gòu)體

結(jié)構(gòu)體在C語言中屬于自定義數(shù)據(jù)類型,我們知道數(shù)組是同一數(shù)據(jù)類型的集合,那結(jié)構(gòu)體可以看成不同數(shù)據(jù)類型的集合,比如我們要存儲一個游戲角色的名字、等級、血量值、防御值、職業(yè)、技能等級信息時,我們就會發(fā)現(xiàn)這些屬性對應(yīng)的是不同的數(shù)據(jù)類型,這種情況下,為了更好的對應(yīng)角色,我們可以將它們的相關(guān)信息全部封裝到一個類型中,此時我們就會用到結(jié)構(gòu)體來進(jìn)行同意封裝,所以結(jié)構(gòu)體也是C語言編程中非常常見的一個數(shù)據(jù)類型

遍歷、頭插、尾插鏈表

#include <stdio.h>

#include <stdlib.h>

struct links

{

int data;

struct links *next;

};

void showList(struct links *p)//鏈表遍歷

{

while(p)

{

printf("%d\n", p->data);

p = p->next;

}

}

void installTail(struct links **h, struct links *n)//尾插法

{

n->next = *h;

*h = n;

}

struct links *headInsert(struct links *h, struct links *n)//頭插法

{

n->next = h;

return n;

}

int main()

{

struct links *head = NULL;

struct links *h1 = NULL;

int i = 0;

int data[10] = {1,2,3,4,5,6,7,8,9,10};

while (i < (sizeof(data) / sizeof(int)))

{

h1 = malloc(sizeof(struct links));

h1->data = data[i];

h1->next = NULL;

installTail(&head,h1);

//head = headInsert(head,h1);

i++;

}

showList(head);

return 0;

}

*malloc是動態(tài)內(nèi)存分配,用于申請一塊連續(xù)的指定大小的內(nèi)存塊區(qū)域以void*類型返回分配的內(nèi)存區(qū)域地址,當(dāng)無法知道內(nèi)存具體位置的時候,想要綁定真正的內(nèi)存空間,就需要用到動態(tài)的分配內(nèi)存,且分配的大小就是程序要求的大小。

最后附上一首秋瑾先生的詞供大家賞析

滿江紅·小住京華

小住京華,早又是中秋佳節(jié)。為籬下黃花開遍,秋容如拭。

四面歌殘終破楚,八年風(fēng)味徒思浙。

苦將儂強(qiáng)派作蛾眉,殊未屑!

身不得,男兒列。心卻比,男兒烈!

算平生肝膽,因人常熱。俗子胸襟誰識我?英雄末路當(dāng)磨折。

莽紅塵何處覓知音?青衫濕!

文章來源:學(xué)到牛牛 www.xuedaon.comyuyu

舉報/反饋

以上就是【第6個不是真的吧?新鮮出爐(單鏈表逆置)逆轉(zhuǎn)單鏈表-單向鏈表_學(xué)到牛牛】的全部內(nèi)容。

微信:N915888888
(歡迎您前來咨詢)

評論

留下您的評論

發(fā) 表
微信:N915888888

微信:N915888888
(歡迎您前來咨詢)

微信:N915888888
探索| 伊金霍洛旗| 邻水| 永川市| 甘洛县| 巴东县| 申扎县| 遵义市| 建阳市| 洛南县| 长乐市| 和平区| 新化县| 农安县| 皋兰县| 西畴县| 通化市| 兴业县| 镇安县| 北川| 兴城市| 遂溪县| 开阳县| 安义县| 乐安县| 额敏县| 湟中县| 江安县| 丹寨县| 上高县| 乾安县| 麻江县| 珲春市| 南投县| 云阳县| 临邑县| 永登县| 年辖:市辖区| 屯昌县| 湾仔区| 石棉县|