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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

串的块链存储c语言栈,小蚂蚁学习数据结构(18)——串的块链的代码实现

發(fā)布時間:2025/3/11 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 串的块链存储c语言栈,小蚂蚁学习数据结构(18)——串的块链的代码实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

感覺上塊鏈的代碼實(shí)現(xiàn)比數(shù)組的代碼實(shí)現(xiàn)要難一些,估計因為數(shù)組的實(shí)現(xiàn)書上有偽代碼,而塊鏈連偽代碼都木有,不過歸根到底還是水平不行……哭瞎……╥﹏╥...

/*

數(shù)據(jù)結(jié)構(gòu)C語言版?串的塊鏈存儲表示和實(shí)現(xiàn)

*/

#?include?

#?include?

#?include?

/*?鏈表元素結(jié)構(gòu)體?*/

typedef?struct?List

{

//數(shù)據(jù)域

char?data;

//指針域

struct?List?*?pNext;

}List,?*?PLIST;

/*?串結(jié)構(gòu)體?*/

typedef?struct?String

{

PLIST?pHead,?pTail;

int?length;

}STRING,?*?PSTRING;

/*?函數(shù)前置聲明?*/

/*?初始化一個串?*/

void?InitString(?PSTRING?);

/*?為一個串賦值?*/

bool?StrAssign(?PSTRING,?char?*?);

/*?遍歷這個塊鏈串?*/

void?TravelerString(?PSTRING?);

/*?返回串的長度?*/

int?StrLength(?PSTRING?);

/*?拷貝一個串?*/

bool?StrCopy(?PSTRING,?PSTRING?);

/*?拼接兩個串常量編程一個塊鏈?*/

bool?Concat(?PSTRING,?char?*,?char?*?);

/*?初始化這個串?*/

void?InitString(?PSTRING?str?)

{

str?->?pHead??=?NULL;

str?->?pTail??=?NULL;

str?->?length?=?0;

}

/*

復(fù)制一個串常量

*/

bool?StrAssign(?PSTRING?str,?char?*?arr?)

{

int?i,?j;

PLIST?p,?q;

//串常量的長度

for(?i?=?0;?arr[i]?!=?'\0';?++i);

str?->?length?=?i;

for(?j?=?0;?j?

{

//如果j?等于?0,說明是首節(jié)點(diǎn)

if(?0?==?j?)

{

p?=?(?PLIST?)malloc(?sizeof(?List?)?);

if(?NULL?==?p?)

{

printf("動態(tài)內(nèi)存分配失敗\n");

return?false;

}

p?->?data?=?arr[j];

p?->?pNext?=?NULL;

str?->?pHead?=?p;

}

else

{

q?=?(?PLIST?)malloc(?sizeof(?List?)?);

if(?NULL?==?q?)

{

printf("動態(tài)內(nèi)存分配失敗\n");

return?false;

}

q?->?data?=?arr[j];

q?->?pNext?=?NULL;

p?->?pNext?=?q;

p?=?q;

}

}

str?->?pTail?=?p;

return?true;

}

/*?打印出這個串?*/

void?TravelerString(?PSTRING?str?)

{

PLIST?p?=?str?->?pHead;

while(?NULL?!=?p?)

{

printf(?"%c?",?p?->?data?);

p?=?p?->?pNext;

}

printf("\n");

}

/*?返回串的長度?*/

int?StrLength(?PSTRING?str?)

{

return?str?->?length;

}

/*?拷貝一個串的長度?*/

bool?StrCopy(?PSTRING?str,?PSTRING?str1?)

{

PLIST?p,?q,?r;

r?=?str1?->?pHead;

str?->?length?=?str1?->?length;

while(?NULL?!=?r?)

{

if(?r?==?str1?->?pHead?)

{

p?=?str?->?pHead?=?(?PLIST?)malloc(?sizeof(?List?)?);

p?->?data?=?r?->?data;

p?->?pNext?=?NULL;

r?=?r?->?pNext;

}

else

{

q?=??(?PLIST?)malloc(?sizeof(?List?)?);

q?->?data?=?r?->?data;

q?->?pNext?=?NULL;

p?->?pNext?=?q;

p?=?q;

r?=?r?->?pNext;

}

}

str?->?pTail?=?p;

return?true;

}

/*?拼接兩個字符串常量?*/

bool?Concat(?PSTRING?str,?char?*?s1,?char?*?s2?)

{

STRING?a1,?a2;

InitString(?&a1?);

InitString(?&a2?);

StrAssign(?&a1,?s1?);

StrAssign(?&a2,?s2?);

str?->?pHead?=?a1.pHead;

str?->?pTail?=?a2.pTail;

a1.pTail?->?pNext?=?a2.pHead;

return?true;

}

int?main(?void?)

{

//創(chuàng)建一個串

STRING?str,?str1,?str2;

InitString(?&str?);//初始化這個串

InitString(?&str1?);

InitString(?&str2?);

printf("將字符串常量“abcde”賦值給str\n");

StrAssign(?&str,?"abcde"?);

printf("打印出str的值:");

TravelerString(?&str?);

printf(?"打印出串str的長度:%d\n",?StrLength(?&str?)?);

//拷貝str?到?str1

printf("復(fù)制串str到str1,遍歷str1:\n");

StrCopy(?&str1,?&str?);

TravelerString(?&str1?);

//將兩個串常量,拼接成一個串塊鏈

Concat(?&str2,?"hello",?"world"?);

printf("將“hello”“world”拼接成一個新的塊鏈串:\n");

TravelerString(?&str2?);

return?0;

}

/*

在VC++6.0中輸出的結(jié)果是:

=============================

將字符串常量“abcde”賦值給str

打印出str的值:a?b?c?d?e

打印出串str的長度:5

復(fù)制串str到str1,遍歷str1:

a?b?c?d?e

將“hello”“world”拼接成一個新的塊鏈串:

h?e?l?l?o?w?o?r?l?d

=============================

總結(jié):

無非都是線性表,跟操作線性表的感覺一樣一樣的。

有時間多把線性結(jié)構(gòu)、棧、隊列那里再練練,考試的重點(diǎn)。

*/

扛不住了,我要吐了,不謝了,就這吧,估計考試也不會考這里的大題……

總結(jié)

以上是生活随笔為你收集整理的串的块链存储c语言栈,小蚂蚁学习数据结构(18)——串的块链的代码实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 淫片网站 | 日日草 | 国产精品一区二区三区免费观看 | 欧美大片www| 精品成人无码久久久久久 | 欧美激情二区三区 | www.日日夜夜 | 一区中文字幕 | 久久99久久99精品免视看婷婷 | 久久9精品区-无套内射无码 | 二区三区 | av毛片大全 | 美女视频在线免费观看 | 有码视频在线观看 | 日本网站黄色 | 91国偷自产中文字幕久久 | 青青久视频 | 免费看大片a | 动漫美女被吸奶 | 亚洲天堂av一区二区 | 亚洲男人天堂2019 | 日韩在线播放中文字幕 | 香蕉av在线 | 青青草小视频 | 色狠av | 亚洲天堂免费在线观看视频 | 天天撸一撸 | 国产网红av | 国产大片在线观看 | 日韩精品一区二区三区 | 久久黄网 | 99视频在线观看免费 | 亚洲一级二级 | 国产一区二区三区色淫影院 | 来吧亚洲综合网 | 国产特级片 | 日本αv| 熟女少妇在线视频播放 | 亚洲一卡二卡三卡四卡 | 国产热99 | sm在线看 | 特级西西444www高清大胆 | 羞羞答答av | 亚洲九九热 | 印度午夜性春猛xxx交 | 精品久久九九 | 亚洲视频一区在线播放 | 精品国产一区二区三区四区阿崩 | 日韩伦理一区二区三区 | 久久久久久一区二区 | 草逼视频免费看 | 天堂网av2018| 国产成人无码a区在线观看视频 | 国产又粗又猛又爽又黄的网站 | 国产不卡在线视频 | 自拍偷拍欧美亚洲 | 潘金莲一级淫片aaaaa武则天 | 日本一区二区不卡视频 | 美女流白浆视频 | 色视频综合| 欧美阿v| 性做久久久久久久久 | 神马久久网站 | 福利电影一区二区 | 涩涩视频免费在线观看 | 久久亚洲天堂网 | 五月伊人网 | 天天天色| 性高潮久久久久 | 亚洲激情啪啪 | 国产青青| 69亚洲精品 | 自拍1区| 中文字幕 日韩 欧美 | 国产jk精品白丝av在线观看 | 老妇高潮潮喷到猛进猛出 | 美女扒开腿让男生捅 | 狠狠做深爱婷婷久久综合一区 | 黄色免费网站在线观看 | 日韩黄片一区二区三区 | 日韩伦理大全 | 国产精品久久久久久久久免费软件 | 亚洲卡一 | 狠狠干中文字幕 | 久久久久1| 国产chinesehd精品 | 全程粗话对白视频videos | 国产一区二 | 欧美天堂在线 | 亚洲在线观看免费视频 | 让男按摩师摸好爽视频 | www在线观看国产 | 性毛片| av福利在线 | 亚洲一区欧洲二区 | 欧美性免费 | 日本不卡高字幕在线2019 | 国产高清精品软件丝瓜软件 | xxxx毛片 |