亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言實現帶頭結點的鏈表的創建、查找、插入、刪除操作

2020-01-26 15:19:11
字體:
來源:轉載
供稿:網友

本文實例講述了C語言實現帶頭結點的鏈表的創建、查找、插入、刪除操作。是數據結構中鏈表部分的基礎操作。分享給大家供大家參考。具體方法如下:

#include <stdio.h>#include <stdlib.h>typedef struct node{  int data;  struct node* next;// 這個地方注意結構體變量的定義規則} Node, *PNode;Node* createLinklist(int length){  int i = 0;  PNode pHeader = NULL;  PNode pTail = NULL;  PNode pTemp = NULL;  printf("create/n");  pHeader = (PNode)malloc(sizeof(Node));// 申請頭結點  if (!pHeader)  {    exit(-1);  }  pHeader->next = NULL;  for (i = 0; i < length; i++)  {    pTemp = (PNode)malloc(sizeof(Node));// 用malloc要包含頭文件    if (!pTemp)    {      exit(-1);    }    pTemp->data = i*10;    pTemp->next = NULL;    if (!pHeader->next)    {      // 第一個結點是空的,則先連接第一個結點      pHeader->next = pTemp;    }    else    {      pTail->next = pTemp;    }    pTail = pTemp;  }  return pHeader;}Node* search(PNode pHeader, int k){  PNode p = pHeader->next;  int i = 1;  printf("search/n");  while(p && (i < k))  {    p = p->next;    i++;  }  if (p && (i == k)) // 這步的i == k是必須的,  // 因為如果一開始的時候 i就 >= k并且pHeader->next還不為NULL這一步就會必過,導致返回的是第一個元素的值  {    return p;  }  return NULL;}int insert(PNode pHeader, PNode pNew, int k){  PNode p = NULL;  printf("insert/n");  if ( 1 == k )  {    p = pHeader;  }  else  {    printf("==>");    p = search(pHeader, k-1);  }  if (p)  {    // 帶頭結點和不帶頭結點的主要區別之一就在這    // 如果不帶頭結點,那么在第一個位置插入結點的操作應該是    // pNew->next = p;    // p = pNew;    // 帶頭結點的操作如下    pNew->next = p->next;    p->next = pNew;    return 1;  }  return 0;}int deleteNode(PNode pHeader, int k){  PNode p = NULL;  printf("deleteNode/n");  if (1 == k)  {    p = pHeader->next;  }  else  {    printf("==>");    p = search(pHeader, k-1);  }  if (p && p->next)  {    // 不帶頭結點的操作時刪除第一個結點的操作    // Node* temp = p;    // p = p->next;    // free(temp);    // 帶頭結點的操作如下    PNode temp = p->next;    p->next = temp->next;    free(temp);    return 1;  }  else  {    printf("Not Found/n");    return 0;  }}void print(PNode pHeader){  PNode p = pHeader->next;  printf("print/n ");  while(p)  {    printf("%4d ", p->data);    p = p->next;  }  putchar('/n');}void freeList(PNode pH){  PNode p = NULL;  printf("freeList/n");  while(NULL != pH)  {    p = pH;    pH = pH->next;    printf("%4d be freed/n", p->data);    free(p);  }}int main(void){  PNode pHeader = NULL;// C和C++中判斷指針為空都是用NULL宏(全大寫)  PNode pNew = NULL;  PNode result = NULL;  pHeader = createLinklist(10);  print(pHeader);  result = search(pHeader, 5);  if ( result )  {    printf("%d/n", result->data);  }  else  {    printf("Not Found/n");  }  pNew = (PNode)malloc(sizeof(Node));  if (!pNew)  {    exit(-1);  }  pNew->data = 100;  pNew->next = NULL;  insert(pHeader, pNew, 5);  print(pHeader);  deleteNode(pHeader, 12);  print(pHeader);  freeList(pHeader);  return 0;}

上述實例備有較為詳盡的注釋,相信不難理解。希望本文所述對大家C程序數據結構與算法設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美国产免费播放| 欧美剧在线观看| zzjj国产精品一区二区| 亚洲欧美综合v| 亚洲在线观看视频网站| 91高清视频免费| 亚洲美女中文字幕| 久久精品99久久香蕉国产色戒| 亚洲一区www| 人人澡人人澡人人看欧美| 成人免费网站在线看| 国产一区视频在线| 久久久久久久久久久免费| 精品视频久久久久久| 日韩欧美aaa| 91国自产精品中文字幕亚洲| 欧美激情图片区| 77777亚洲午夜久久多人| 亚洲国产欧美久久| 日韩av中文字幕在线| 国产精品视频自拍| 精品综合久久久久久97| 亚洲精品视频播放| 国产丝袜精品第一页| 日韩精品有码在线观看| 在线视频国产日韩| 精品久久久精品| 国产亚洲精品一区二555| 欧美激情在线视频二区| 日本一区二三区好的精华液| 欧美日韩亚洲国产一区| 97成人超碰免| 欧美黑人一区二区三区| 国产精品jizz在线观看麻豆| 成人激情视频小说免费下载| 亚洲第一色中文字幕| 最近2019年中文视频免费在线观看| 自拍偷拍亚洲一区| 精品国产视频在线| 岛国av一区二区三区| 久久久这里只有精品视频| 日韩精品视频在线观看免费| 欧美一区二区三区免费观看| 色狠狠av一区二区三区香蕉蜜桃| 韩日精品中文字幕| 欧美高清在线观看| 亚洲国产一区二区三区在线观看| 色哟哟入口国产精品| 国产精品亚洲自拍| 精品magnet| 91成人在线观看国产| 亚洲九九九在线观看| 欧美日韩免费观看中文| 奇米成人av国产一区二区三区| 精品国产一区久久久| 亚洲毛茸茸少妇高潮呻吟| 久久精品视频播放| 久久久久久久影院| 亚洲成人黄色网址| 91精品国产91久久久久久| 亚洲国产毛片完整版| 韩曰欧美视频免费观看| 韩国三级日本三级少妇99| 色爱av美腿丝袜综合粉嫩av| 久久久成人精品视频| 91最新在线免费观看| 国产91热爆ts人妖在线| 国产成人精品最新| 97国产真实伦对白精彩视频8| 欧美国产精品va在线观看| 欧美日韩国产精品一区二区三区四区| 在线观看精品自拍私拍| 国产精品色婷婷视频| 国产97色在线|日韩| 在线观看视频亚洲| 亚洲欧美资源在线| 97超级碰碰人国产在线观看| 亚洲成人性视频| 日韩视频欧美视频| 久久免费福利视频| 中文字幕免费国产精品| 国产在线视频一区| 国产欧美精品一区二区三区-老狼| 亚洲精品99久久久久中文字幕| 色先锋资源久久综合5566| 欧美在线www| 久久全球大尺度高清视频| 日韩成人在线电影网| 国产福利视频一区| 日韩精品在线视频美女| 日本精品久久久久久久| 国产亚洲欧美另类中文| 夜夜嗨av一区二区三区免费区| 欧美日韩国产999| 亚洲最大福利视频| 欧美—级a级欧美特级ar全黄| 91在线视频一区| 成人av资源在线播放| 亚洲精品aⅴ中文字幕乱码| 欧美国产日本在线| 97视频在线看| 亚洲奶大毛多的老太婆| 免费91在线视频| 国产精品久久久久久久久久尿| 欧美激情一区二区三区久久久| 日韩福利视频在线观看| 亚洲欧洲xxxx| 日韩一区二区久久久| 久久视频国产精品免费视频在线| 欧美性极品xxxx娇小| 欧美电影《睫毛膏》| 日本久久久久久久久| 欧美日韩精品二区| 久久久久久网址| 日韩av在线导航| 欧美精品手机在线| 国产精品99久久久久久白浆小说| 国产成人综合av| 国产午夜精品免费一区二区三区| 欧美性猛交xxxx黑人猛交| 久久久噜噜噜久久中文字免| 北条麻妃久久精品| 中文字幕视频一区二区在线有码| 欧美成人久久久| 在线丨暗呦小u女国产精品| 国产精品18久久久久久麻辣| 国产精品久久久久免费a∨大胸| 国产日产亚洲精品| 精品久久久在线观看| 亚洲18私人小影院| 欧美日韩激情美女| 国产精品高清在线观看| 2024亚洲男人天堂| 久久久久久国产精品美女| 欧美激情在线观看视频| 国产视频亚洲视频| 国产精品久久久久久网站| 亚洲国产精品va在线看黑人动漫| 亚洲激情在线观看视频免费| 亚洲国模精品一区| 欧美猛交ⅹxxx乱大交视频| 日韩欧美999| 中文字幕日韩欧美精品在线观看| 日本午夜人人精品| 在线视频日本亚洲性| 在线观看精品自拍私拍| 日韩在线中文视频| 欧美激情xxxx性bbbb| 深夜精品寂寞黄网站在线观看| 亚洲欧洲国产一区| 国产日韩欧美另类| 国产在线拍偷自揄拍精品| 久久激情视频免费观看| 欧美性猛交xxxx乱大交极品| 91国产视频在线| 中文字幕亚洲在线| 91精品国产成人| 中文字幕在线精品| 性色av一区二区三区红粉影视| 91网在线免费观看| 亚洲成在人线av| 俺去了亚洲欧美日韩| 成人做爰www免费看视频网站| 亚洲视频在线观看网站|