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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

【C语言数据结构】单链表

發(fā)布時(shí)間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C语言数据结构】单链表 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

LinkList.h?

#ifndefLINK_LIST_H#defineLINK_LIST_H//鏈表節(jié)點(diǎn)typedefstruct_LinkListNode{struct_LinkListNode*next;}LinkListNode;//單鏈表typedefvoidLinkList;/**創(chuàng)建單鏈表*@return返回單鏈表的指針*/LinkList*LinkList_Create();/**銷(xiāo)毀單鏈表*@paramlist單鏈表的指針*/voidLinkList_Destroy(LinkList*list);/**清空單鏈表*@paramlist單鏈表的指針*/voidLinkList_Clear(LinkList*list);/**向單鏈表pos位置處插入元素*@paramlist單鏈表指針*@paramnode元素指針*@parampos插入的索引*/intLinkList_Insert(LinkList*list,LinkListNode*node,intpos);/**獲取單鏈表中索引位置處的元素*@paramlist單鏈表指針*@parampos單鏈表索引值*@paramreturn元素指針*/LinkListNode*LinkList_Get(LinkList*list,intpos);/**刪除單鏈表中索引位置處的值*@paramlist單鏈表的指針*@parampos單鏈表索引*@paramreturn非0表示刪除成功*/intLinkList_Remove(LinkList*list,intpos);/**獲取單鏈表當(dāng)前已存儲(chǔ)元素的個(gè)數(shù)*@paramlist單鏈表的指針*@return單鏈表中已存儲(chǔ)元素的個(gè)數(shù)*/intLinkList_Length(LinkList*list);#endif//LINKLIST_HLinkLink.c?
#include"Linklist.h"#include<malloc.h>//單鏈表typedefstruct_LinkList{LinkListNodeheader;//鏈表頭節(jié)點(diǎn)intlength;//鏈表長(zhǎng)度}TLinkList;/**創(chuàng)建單鏈表*@return返回單鏈表的指針*/LinkList*LinkList_Create(){TLinkList*list=(TLinkList*)malloc(sizeof(LinkList));if(list!=0){list->header.next=0;//初始化頭結(jié)點(diǎn)的后繼指針為空l(shuí)ist->length=0;}returnlist;}/**銷(xiāo)毀單鏈表*@paramlist單鏈表的指針*/voidLinkList_Destroy(LinkList*list){free(list);}/**清空單鏈表*@paramlist單鏈表的指針*/voidLinkList_Clear(LinkList*list){if(list!=0){TLinkList*l_list=(TLinkList*)list;l_list->header.next=0;l_list->length=0;}}/**向單鏈表pos位置處插入元素*@paramlist單鏈表指針*@paramnode元素指針*@parampos插入的索引*/intLinkList_Insert(LinkList*list,LinkListNode*node,intpos){//類(lèi)型轉(zhuǎn)換TLinkList*l_list=(TLinkList*)list;//判斷鏈表指針和節(jié)點(diǎn)指針不能為空,當(dāng)前插入的位置是否合法intret=((list!=0)&&(node!=0)&&(pos>=0)&&(pos<=l_list->length));if(ret){LinkListNode*current=(LinkList*)l_list;inti;//移動(dòng)到需要插入的位置的前驅(qū)for(i=0;i<pos;i++){current=current->next;}node->next=current->next;//被插入節(jié)點(diǎn)的后繼指針指向前驅(qū)節(jié)點(diǎn)的后繼指針current->next=node;//前驅(qū)節(jié)點(diǎn)的后繼指針指向被插入節(jié)點(diǎn)l_list->length++;}returnret;}/**獲取單鏈表中索引位置處的元素*@paramlist單鏈表指針*@parampos單鏈表索引值*@paramreturn元素指針*/LinkListNode*LinkList_Get(LinkList*list,intpos){LinkListNode*node=0;TLinkList*l_list=(TLinkList*)list;//判斷鏈表指針不為空,且獲取的索引合法if((l_list!=0)&&(pos>=0)&&(pos<l_list->length)){LinkListNode*current=(LinkList*)l_list;inti;for(i=0;i<pos;i++){current=current->next;}node=current->next;}returnnode;}/**刪除單鏈表中索引位置處的值*@paramlist單鏈表的指針*@parampos單鏈表索引*@paramreturn非0表示刪除成功*/intLinkList_Remove(LinkList*list,intpos){TLinkList*l_list=(TLinkList*)list;intret=((l_list!=0)&&(pos>=0)&&(pos<l_list->length));if(ret){LinkListNode*current=(LinkList*)l_list;inti;for(i=0;i<pos;i++){current=current->next;}//被刪除元素的前驅(qū)元素的后繼指針,指向被刪除元素的后繼指針current->next=current->next->next;l_list->length--;}returnret;}/**獲取單鏈表當(dāng)前已存儲(chǔ)元素的個(gè)數(shù)*@paramlist單鏈表的指針*@return單鏈表中已存儲(chǔ)元素的個(gè)數(shù)*/intLinkList_Length(LinkList*list){intret=-1;if(list!=0){TLinkList*l_list=(TLinkList*)list;ret=l_list->length;}returnret;}測(cè)試代碼?
#include<stdio.h>#include"Linklist.h"typedefstruct_node{LinkListNodenode;intv;}Node;intmain(void){inti;Noden[5];Node*node;for(i=0;i<5;i++){n[i].v=i;}LinkList*list=LinkList_Create();for(i=0;i<5;i++){LinkList_Insert(list,(LinkListNode*)&(n[i]),0);}LinkList_Remove(list,2);for(i=0;i<LinkList_Length(list);i++){node=(Node*)LinkList_Get(list,i);printf("%d\n",node->v);}return0;}?

?海外專(zhuān)線有很多產(chǎn)品類(lèi)型,每種類(lèi)型的作用都不一樣,今天和大家就一起討論下海外專(zhuān)線。第一類(lèi):國(guó)際數(shù)據(jù)鏈路產(chǎn)品,包括IPLC和IEPL。適用于兩點(diǎn)間的組網(wǎng),也是運(yùn)營(yíng)商提供給企業(yè)最多的專(zhuān)線產(chǎn)品,因網(wǎng)絡(luò)問(wèn)題,可靠性高 ,被企業(yè)廣泛接受。第二類(lèi):VPLS和MPLS 虛擬專(zhuān)用網(wǎng)組網(wǎng)產(chǎn)品。

總結(jié)

以上是生活随笔為你收集整理的【C语言数据结构】单链表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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