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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构__头插法建立单链表、尾插法建立单链表

發布時間:2024/1/1 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构__头插法建立单链表、尾插法建立单链表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

單鏈表定義、頭插法建表、尾插法建表

一、單鏈表的定義

? ? ? ? 單鏈表是線性表的鏈式存儲,是指通過一組任意的存儲單元來存儲線性表中的數據元素。

? ? ? ? 單鏈表結構定義為:

? ? ? ? ?其中data為數據域,用來存放數據;next為指針域,用來存放后繼結點的地址。

單鏈表優缺點:

? ? ? ? 優點:插入、刪除方便;無需大量連續的存儲單元。

? ? ? ? 缺點:附加指針域,增加了對存儲空間的消耗;查找速度慢,不支持隨機存取。

通常用頭指針來標識一個單鏈表,如單鏈表L,頭指針為NULL時表示一個空表。

此外,為了操作方便,在單鏈表第一個結點之前附加一個結點,稱為頭結點。

頭結點的數據域可以不設任何信息,也可以記錄表長等信息。

頭結點的指針域指向線性表的第一個元素結點,如圖:

二、頭插法建立單鏈表

? ? ? ? 先建立一個空鏈表,然后創建新結點,將輸入的數據存放在新結點的數據域中,再將新結點插入到當前鏈表的表頭,即頭結點之后。如圖:

#include<iostream> using namespace std;typedef struct LNode{ //定義單鏈表結點類型int data; //數據域struct LNode *next; //指針域 }LNode, *LinkList;void List_HeadInster(LinkList &L){ //頭插法函數LNode *s; int x; //定義一個指向LNode的指針sL=(LinkList)malloc(sizeof(LNode)); //創建頭結點L->next=NULL; //初始為空鏈表while(cin >> x){ //輸入新結點的值s=(LNode*)malloc(sizeof(LNode)); //創建新結點s->data=x;s->next=L->next;L->next=s; //將新結點插入表中,L為頭指針if(getchar()=='\n'){ //遇到換行跳出break;}}while(L->next) { //輸出單鏈表中結點的值cout<<L->next->data<<" ";L->next=L->next->next;} }int main(){LinkList L;List_HeadInster(L);return 0; }

三、尾插法建立單鏈表

????????尾插法是將新結點插入到當前鏈表的表尾,為此必須增加一個尾指針r,使其始終指向當前鏈表的尾結點,如圖:

?

#include<iostream> using namespace std;typedef struct LNode{ //定義單鏈表結點類型int data; //數據域struct LNode *next; //指針域 }LNode, *LinkList;void List_TailInsert(LinkList &L){ //正向建立單鏈表int x; //設元素類型為整型4L=(LinkList)malloc(sizeof(LNode));LNode *s, *r = L; //r為表尾指針 while(cin >> x){ //輸入結點的值 s=(LNode *)malloc(sizeof(LNode));//生成一個LNode型的結點//并把該結點的起始位置賦給指針變量ss->data=x;r->next=s;r=s; //r指向新的表尾結點if (getchar() == '\n')break;}r->next=NULL; //尾結點指針置空while(L->next) { //輸出單鏈表中結點的值cout<<L->next->data<<" ";L->next=L->next->next;} }int main(){LinkList L;List_TailInsert(L);return 0; }

?

兩種方法時間復雜度都為O(n)

總結

以上是生活随笔為你收集整理的数据结构__头插法建立单链表、尾插法建立单链表的全部內容,希望文章能夠幫你解決所遇到的問題。

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