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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

单链表C/C++实现(数据结构严蔚敏)

發布時間:2025/3/20 c/c++ 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单链表C/C++实现(数据结构严蔚敏) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面是項目:頭文件、源文件、測試文件

1、頭文件LinkList.h:

#include<iostream> #include<malloc.h> using namespace std;#define ok 1 #define error 0 #define flow 0typedef int Status; typedef int ElemType;typedef struct LNode{ElemType data;struct LNode* next;}LNode; typedef LNode* LinkList;//初始化鏈表 Status InitList( LinkList& L, int n);//銷毀鏈表 Status DestroyList(LinkList& list);//打印鏈表 Status Print(const LinkList& L); //在第i個位置前添加數據節點 Status ListInsert( LinkList& L, int i, ElemType e) ;//刪除第i個位置的節點 Status ListDelete( LinkList& L, int i, ElemType& e);//獲取鏈表的第i個位置數據,并返回 Status Get( const LinkList& L, int i, ElemType& e);//將遞增的LA和LB進行歸并,重新放入LC中 Status MergeList( LinkList& La, LinkList& Lb, LinkList& Lc);

2、源文件LinkList.cpp

#include "LinkList.h"//使用頭節點反序初始化鏈表 Status InitList( LinkList& L, int n){L = (LinkList)(malloc( n * sizeof(LNode)));if(!L) return error;L->next = NULL;cout<<"請輸入"<<n<<"個數據節點的數據\n"<<endl;for(int i=0; i < n; i++){LinkList p = (LinkList)(malloc(sizeof(LNode)));cin>>p->data;p->next = L->next;L->next = p;}return ok; }//打印鏈表 ,由于初始化是按照頭指針進行的,所以打印出來的是倒敘鏈表 Status Print(const LinkList& L){LinkList p = L->next;if(!p) return error;while(p){cout<<p->data<<" ";p=p->next; }cout<<endl;return ok; }//銷毀鏈表 Status DestroyList( LinkList& L){}//在第i個位置前添加數據節點 Status ListInsert(LinkList& L, int i, ElemType e){LinkList p = L;int j = 0;//找到第i-1個節點的地址放入p中 while(p && j < i-1){p = p->next; j++;}//第i-1個節點不存在,無法將數據e插入到第i個位置上 ,或則輸入的位置小于1。返回錯誤。 if(!p || j > i-1) return error;//新建一個節點 LinkList s = (LinkList)malloc((sizeof(LNode)));//新建節點的數據部分是e s->data = e;//新建節點的指針域是第i個節點的地址。而第i位置的地址存儲在第i-1中的指針域 p->next中中;s->next = p->next;//將第-1的指針域修改為新建節點的地址,就是s。使得第i-1的節點指針域指向新建節點 p->next = s;return ok;}//刪除第i個位置的節點 Status ListDelete( LinkList& L, int i, ElemType& e){LinkList p = L;int j = 0;//尋找第i個節點的地址,放入p的指針域p->next中,p是第i-1位置的節點 while(p->next && j < i-1){p = p->next;j++;}//如果第i位置節點不存在,就返回錯誤 if(!(p->next) || j < i-1) return error;//讓第i-1位置的p節點的指針域p->next指向第i+1位置的節點,然后釋放第i位置的空間。 LinkList q = p->next;p->next = q->next;e = q->data;free(q); }//獲取鏈表的第i個位置數據,并返回 Status Get(const LinkList L, int i, ElemType& e){//L為頭節點的地址,L->next存儲的是第一個節點的地址,L->data,不存儲數據。 //獲取第一個節點的地址,并將計數器設置為1 LinkList p = L->next;int j = 1;//循環遍歷節點 while(p && j < i){p = p->next; j++;}//如果節點的地址為NULL,或則查看的節點數大于 計數器一開始就大于了i, 說明第i個位置的數據不存在,返回錯誤0 if(!p || j > i){return error;}//如果存在,就賦值給e e = p->data;return ok; }//將遞增的LA和LB進行歸并,重新放入LC中 Status MergeList( LinkList& La, LinkList& Lb, LinkList& Lc){//將La和Lb的第一個數據節點的地址賦值給pa, pb LinkList pa = La->next;LinkList pb = Lb->next;Lc = (LinkList)malloc(sizeof(LNode));Lc->next = NULL; LinkList pc = NULL;int i = 1;int j = 1;//如果La第一個節點的數據大于Lb的第一個數據節點,就將Lb的數據存到Lc中 while(pa && pb){ if(pa->data <= pb->data){pc = (LinkList)malloc(sizeof(LNode)); pc->data = pa->data;pc->next = Lc->next;Lc->next = pc;pa = pa->next;}else{pc = (LinkList)malloc(sizeof(LNode)); pc->data = pa->data;pc->next = Lc->next;Lc->next = pc;pb= pb->next;} }while(pa){pc = (LinkList)malloc(sizeof(LNode));pc->next = Lc->next;Lc->next = pc;pc->data = pa->data;pa = pa->next;}while(pb){pc = (LinkList)malloc(sizeof(LNode));pc->next = Lc->next;Lc->next = pc;pc->data = pb->data;pb = pb->next;}}

3、測試文件:test.cpp

#include<iostream> #include "LinkList.h" using namespace std;int main(void){LinkList La, Lb, Lc;ElemType e;int i, n ; InitList(La, 4);cout<<"鏈表創建完畢"<<endl;InitList(Lb, 4);cout<<"鏈表創建完畢"<<endl;MergeList(La, Lb, Lc);Print(Lc);return 0; }
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的单链表C/C++实现(数据结构严蔚敏)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色一级小说 | 国产精品国语对白 | 丁香亚洲 | 日韩国产小视频 | 国产夫妻性生活视频 | 日本视频一区二区三区 | 永久免费54看片 | 日本免费精品 | av免费久久| 中文字幕2021 | 精品伦一区二区三区 | 亚洲第一成年网 | 一级日韩毛片 | 欧美色悠悠 | 中文字幕久久久久 | 操日本老太太 | 国产精品激情偷乱一区二区∴ | 国产成人无码精品久久 | 500福利视频导航 | 波多野结衣中文字幕一区 | 日本午夜一级 | 9色在线视频 | 天堂成人av | 欧洲精品久久久 | 欧美日韩电影一区二区 | 97视频在线看 | 曰韩一级片 | 91免费版在线看 | 超碰人人人人人 | 亚洲永久精品在线观看 | 日韩大片免费在线观看 | 久久免费国产视频 | 免费在线观看网址入口 | 成人精品在线视频 | 成人黄色片免费看 | 久久综合色鬼 | 一区二区三区精品久久久 | 高跟肉丝丝袜呻吟啪啪网站av | 中日韩av在线 | 国产午夜电影 | 在线观看黄 | 国产黄色免费 | 久久久91精品 | 国产美女精品视频国产 | 超碰免费在线观看 | 伊人伊网| 一级黄色a级片 | 久久视频黄色 | 人人做 | 国产真实在线 | 一区二区三区免费在线观看视频 | 久久精品三级 | 超碰综合网 | 国产人妻一区二区三区四区五区六 | 欧美成人动态图 | 神宫寺奈绪一区二区三区 | 天天综合欧美 | 亚日韩欧美 | 东方影库av| 92av视频| 婷婷色中文网 | 久久久久亚洲av成人网人人软件 | 专业操老外 | 亚洲在线精品视频 | 日日干,夜夜操 | 青青草视频在线观看免费 | 蜜臀精品 | 国产伦精品一区二区三区视频1 | 中文在线免费看视频 | www日韩精品 | 狠狠的色| 欧美激情久久久久 | 日韩在线播放一区二区 | 成人免费a视频 | 大陆农村乡下av | 星空无限mv国产剧入选 | 高清久久 | 久久久久久久亚洲av无码 | 欧美精品久久久久久久自慰 | 无码人妻精品一区二区三应用大全 | 久久五月天综合 | 欧美极品jizzhd欧美 | 爽爽淫人 | 打屁股调教网站 | 国产精品二区一区二区aⅴ污介绍 | 九九福利视频 | 天堂中文资源在线 | 欧美涩色 | 亚洲tv在线| 国产又黄又猛又粗又爽 | 美女让男人捅 | 国产福利精品一区 | 国产又粗又硬又黄的视频 | 美梦视频大全在线观看高清 | 亚洲成熟毛多妇女av毛片 | 电影寂寞少女免费观看 | 欧美一区二区三区影视 | 懂色av一区二区三区在线播放 | 99国产精品自拍 |