data); p = p - > next; }} int main () { Node * a = (Node *) malloc ( sizeof (Node)); Node * b = (Node *) malloc ( sizeof (Node)); Node * c = (Node *) malloc ( sizeof (Node)); Node * d = (Node *) malloc ( sizeof (Node)); Node * e = (Node *) malloc ( sizeof (Node)); a- >data = 1 ; a- >next =" />

在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何創(chuàng)建單鏈表

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-27 16:05 ? 次閱讀

實際中經(jīng)常使用的一般為帶頭雙向循環(huán)鏈表。

單鏈表1

#include< stdio.h >
#include< stdlib.h >

typedef struct node
{
 int data; //"數(shù)據(jù)域" 保存數(shù)據(jù)元素
 struct node * next; //保存下一個數(shù)據(jù)元素的地址
}Node;

void printList(Node *head){
    Node *p = head;
    while(p != NULL){
        printf("%dn",p- >data);
        p = p - > next;
    }
}

int main(){
  
  Node * a = (Node *)malloc(sizeof(Node));
  Node * b = (Node *)malloc(sizeof(Node));
  Node * c = (Node *)malloc(sizeof(Node));
  Node * d = (Node *)malloc(sizeof(Node));
  Node * e = (Node *)malloc(sizeof(Node));
  
  a- >data = 1;
  a- >next = b;
  
  b- >data = 2;
  b- >next = c;
  
  c- >data = 3;
  c- >next = d;
  
  d- >data = 4;
  d- >next = e;
  
  e- >data = 5;
  e- >next = NULL;
  
  printList(a);
}

結(jié)果:

圖片

這個鏈表比較簡單,實現(xiàn)也很原始,只有創(chuàng)建節(jié)點和遍歷鏈表,大家一看就懂!

單鏈表2

這個鏈表功能多一點:

  1. 創(chuàng)建鏈表
  2. 創(chuàng)建節(jié)點
  3. 遍歷鏈表
  4. 插入元素
  5. 刪除元素
#include< stdio.h >
#include< stdlib.h >

typedef struct node
{
 int data; //"數(shù)據(jù)域" 保存數(shù)據(jù)元素
 struct node * next; //保存下一個數(shù)據(jù)元素的地址
}Node;

//創(chuàng)建鏈表,即創(chuàng)建表頭指針 
Node* creatList()
{
 Node * HeadNode = (Node *)malloc(sizeof(Node));
 //初始化
 HeadNode- >next = NULL;
 return HeadNode;
}

//創(chuàng)建節(jié)點 
Node* creatNode(int data)
{
 Node* newNode = (Node *)malloc(sizeof(Node));
 //初始化
 newNode- >data = data;
 newNode- >next = NULL;
 return newNode;
}

//遍歷鏈表
void printList(Node *headNode){
    Node *p = headNode - > next;
    while(p != NULL){
        printf("%dt",p- >data);
        p = p - > next;
    }
    printf("n");
}

//插入節(jié)點:頭插法
void insertNodebyHead(Node *headNode,int data){
 //創(chuàng)建插入的節(jié)點 
    Node *newnode = creatNode(data);

    newnode - > next = headNode - > next;
    headNode - > next = newnode;
}

//刪除節(jié)點
void deleteNodebyAppoin(Node *headNode,int posData){
 // posNode 想要刪除的節(jié)點,從第一個節(jié)點開始遍歷 
 // posNodeFront 想要刪除節(jié)點的前一個節(jié)點 
    Node *posNode = headNode - > next;
    Node *posNodeFront = headNode;
    
 if(posNode == NULL)
  printf("鏈表為空,無法刪除");
 else{
  while(posNode- >data != posData)
  {
   //兩個都往后移,跟著 posNodeFront 走 
   posNodeFront = posNode;  
   posNode = posNodeFront- >next;
   if (posNode == NULL)
   {
    printf("沒有找到,無法刪除");
    return; 
   }
  }
  //找到后開始刪除 
  posNodeFront- >next = posNode- >next;
  free(posNode);
 } 
}

int main(){
 
 Node* List = creatList();
 
 insertNodebyHead(List,1); 
 insertNodebyHead(List,2); 
 insertNodebyHead(List,3);  
 printList(List);
 
 deleteNodebyAppoin(List,2);
 printList(List);
 
 return 0;
}

結(jié)果:

圖片

大家從最簡單的單鏈表開始,學(xué)習(xí)鏈表的增刪改查,然后再學(xué)習(xí)雙鏈表,最后學(xué)習(xí)雙向循環(huán)鏈表。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    C語言鏈表的應(yīng)用

    最近在看一些開源項目,大佬的思路還是很值得去學(xué)習(xí),今天就簡單介紹一下鏈表的應(yīng)用,配合回調(diào)函數(shù)可以玩出新花樣,廢話不多說直接看代碼!
    發(fā)表于 02-17 09:22 ?453次閱讀

    數(shù)據(jù)結(jié)構(gòu):鏈表的排序

    給定一個鏈表的頭結(jié)點head(該結(jié)點有值),長度為n的無序鏈表,對其按升序排序后,返回新鏈表。如當(dāng)輸入
    的頭像 發(fā)表于 11-30 13:56 ?1660次閱讀
    數(shù)據(jù)結(jié)構(gòu):<b class='flag-5'>單</b><b class='flag-5'>鏈表</b>的排序

    鏈表的缺陷是什么

    鏈表有一定的缺陷,就是單向性,只能從一個結(jié)點到下一個節(jié)點,而不能訪問到上一個結(jié)點,而循環(huán)鏈表就可以解決這一問題,當(dāng)然,用雙向鏈表更加方便#include #include typed
    發(fā)表于 07-14 08:09

    OpenHarmony中的HDF鏈表及其迭代器

    概念為了性能考慮,嵌入式系統(tǒng)一般使用C語言進(jìn)行開發(fā),由于C語言標(biāo)準(zhǔn)庫沒有封裝鏈表,所以嵌入式系統(tǒng)一般自己設(shè)計和實現(xiàn)鏈表這種數(shù)據(jù)結(jié)構(gòu)。鏈表鏈表
    發(fā)表于 08-30 10:31

    C語言實現(xiàn)鏈表舉例

    所謂鏈表,就是用一組任意的存儲單元存儲線性表元素的一種數(shù)據(jù)結(jié)構(gòu)。鏈表又分為鏈表、雙向鏈表和循環(huán)鏈表
    發(fā)表于 07-11 16:40 ?87次下載
    C語言實現(xiàn)<b class='flag-5'>單</b><b class='flag-5'>鏈表</b>舉例

    鏈表學(xué)習(xí)的超詳細(xì)說明(二)

    昨天跟大家分享了鏈表的一些基本用法,今天接著繼續(xù)和大家分享鏈表的用法,今天分享完,鏈表的操
    的頭像 發(fā)表于 12-24 17:33 ?822次閱讀

    鏈表學(xué)習(xí)的總結(jié)(一)

    想必大多數(shù)人和我一樣,剛開始學(xué)數(shù)據(jù)結(jié)構(gòu)中的鏈表還是蠻吃力的,特別是后面的雙鏈表操作更是如此。還有就是在實踐代碼操作時,你又會感到無從下手,沒有思路。
    的頭像 發(fā)表于 12-24 17:35 ?3482次閱讀

    在STM32上創(chuàng)建鏈表并實現(xiàn)LCD滾動顯示串口消息

    在STM32上創(chuàng)建鏈表并實現(xiàn)LCD滾動顯示串口消息
    發(fā)表于 12-06 19:21 ?18次下載
    在STM32上<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>鏈表</b>并實現(xiàn)LCD滾動顯示串口消息

    雙向循環(huán)鏈表創(chuàng)建

    需要注意的是,雖然雙向循環(huán)鏈表成環(huán)狀,但本質(zhì)上還是雙向鏈表,因此在雙向循環(huán)鏈表中,依然能夠找到頭指針和頭節(jié)點等。雙向循環(huán)鏈表和雙向鏈表相比,
    的頭像 發(fā)表于 05-24 16:27 ?2151次閱讀

    C語言_鏈表總結(jié)

    本篇文章介紹C語言鏈表相關(guān)知識點,涉及鏈表創(chuàng)建、單向鏈表、循環(huán)鏈表、雙向鏈表、單向循環(huán)
    的頭像 發(fā)表于 08-14 09:53 ?1841次閱讀

    鏈表的基礎(chǔ)知識

    的知識詳細(xì)地敘述,所涉及的鏈表類型包括:鏈表,雙鏈表,循環(huán)鏈表,每個鏈表的操作涉及到
    的頭像 發(fā)表于 01-20 17:00 ?1142次閱讀
    <b class='flag-5'>鏈表</b>的基礎(chǔ)知識

    C++創(chuàng)建鏈表并輸出

    使用C++代碼創(chuàng)建一個鏈表并輸出。
    的頭像 發(fā)表于 01-10 15:05 ?1240次閱讀

    C語言的鏈表應(yīng)用

    最近在看一些開源項目,大佬的思路還是很值得去學(xué)習(xí),今天就簡單介紹一下鏈表的應(yīng)用,配合回調(diào)函數(shù)可以玩出新花樣,廢話不多說直接看代碼!
    的頭像 發(fā)表于 02-20 15:03 ?623次閱讀

    鏈表和雙鏈表的區(qū)別在哪里

    鏈表和雙鏈表的區(qū)別 鏈表的每一個節(jié)點中只有指向下一個結(jié)點的指針,不能進(jìn)行回溯。 雙鏈表的每一
    的頭像 發(fā)表于 07-27 11:20 ?1789次閱讀
    <b class='flag-5'>單</b><b class='flag-5'>鏈表</b>和雙<b class='flag-5'>鏈表</b>的區(qū)別在哪里

    雙向循環(huán)鏈表創(chuàng)建代碼

    ; //保存下一個數(shù)據(jù)元素的地址 struct node * prev; //保存上一個數(shù)據(jù)元素的地址 }Node; //創(chuàng)建表頭表示鏈表 Node* creatList() { Node * HeadNode
    的頭像 發(fā)表于 07-27 11:26 ?985次閱讀
    雙向循環(huán)<b class='flag-5'>鏈表</b><b class='flag-5'>創(chuàng)建</b>代碼
    主站蜘蛛池模板: 欧美成人影院 | 成人www视频 | 91老色批网站免费看 | 99久久精品免费观看国产 | 永久免费在线视频 | 啪视频免费 | 亚洲免费视频一区二区三区 | 午夜免费伦费影视在线观看 | 欧美视频精品一区二区三区 | 伦理片日本韩国电影三级在线观看 | 大又大又粗又爽女人毛片 | 最近最新视频中文字幕4 | 天天干夜夜爽天天操夜夜爽视频 | 婷婷亚洲视频 | 国产精品乱码高清在线观看 | 久久国产乱子伦精品免费看 | 色综合天天综合网国产国产人 | 欧美黑粗特黄午夜大片 | 俄罗斯美女在线观看一区 | 色爱综合区五月小说 | 国产女人18毛片水真多18精品 | 久久99热不卡精品免费观看 | 精品少妇一区二区三区视频 | 6080伦理久久亚洲精品 | 老师受年下高h男 | 亚洲三级毛片 | 日本大片网 | 国内自拍2021 | 国模沟沟一区二区三区 | 手机看片国产福利 | 免费 在线播放 | 欧美黑人xxxx猛牲大交 | 91寡妇天天综合久久影院 | 日韩美a一级毛片 | 激情欧美一区二区三区中文字幕 | 亚洲邪恶天堂影院在线观看 | 毛片大全在线 | jizz性欧美12 | 欧美成人免费午夜全 | 青草青视频在线观看 | 三级网址在线播放 |