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

首頁 > 編程 > C++ > 正文

C語言 表、棧和隊列詳解及實例代碼

2020-05-23 13:53:20
字體:
來源:轉載
供稿:網友

C語言 表、棧和隊列詳解

表ADT

  形如A1,A2,A3…An的表,這個表的大小為n,而大小為0的表稱為空表,非空表中,Ai+1后繼Ai,Ai-1前驅Ai,表ADT的相關操有PrintList打印表中的元素;CreateEmpty創建一個空表;Find返回關鍵字首次出現的位置;Insert和Delete從表的某個位置插入和刪除某個關鍵字。

  對表的所有操作都可以通過使用數組來實現,但在這里使用鏈表的方式來實現。鏈表(linked list)由一系列不必在內存中相連的結構組成,每個結構均含有元素和指向包含該元素后繼元的結構的指針。鏈表的結構有很多種,單向鏈表、雙向鏈表、循環鏈表、有無表頭的鏈表,這里以有表頭結點的單向鏈表為例,其余幾種的實現思路相同。

  首先定義鏈表的結構:

struct Node {  ElementType Element;  Node *Next; }; 

  表ADT的主要操作:

Node *CreateEmpty() {  Node *header = new Node;  Header->Element = 0;  Header->Next = NULL;  return header; } void PrintList(Node *List) {  Node *p = List->Next;  While (p)  {   std::cout << p->Element << “ “;  } } Node *Find(Node *List, ElementType X) {  Node *p = List->Next;  while(p && p->Element != X)  {   p = p->Next;  }  return p; } void Insert(Node *List, ElementType X) {  Node *p = List;  while(p->Next)  {   p = p->Next;  }  p->Next = new Node;  p = p->Next;  p->Next = NULL;  p->Element = X; } void Delete(Node *List, ElementType X) {  Node *p = List->Next;  Node *d = p->Next;  while(d->Element != X)  { p = p->Next; d = p->Next;  }  p->Next = d->Next;  delete d; } 

  以上是基本的幾個操作,可以看到,操作中沒有對鏈表是否為空進行檢測,在刪除操作中存在隱患。

棧ADT

  棧(stack)是限制插入和刪除只能在一個位置上進行的表,該位置是表的末端,叫做棧的頂(top)。對棧的基本操作有Push(進棧)和Pop(出棧),前者相當于插入,后者相當于刪除最后插入的元素。

  棧的實現可以是指針,或者使用數組,數組的實現在筆者前面的已經介紹過了,今次使用單鏈表的方式實現。

  首先,棧的結構定義:

struct Stack {  ElementType Element;  Stack *Next; }; 

  棧ADT的主要操作:

Stack *CreateStack() {  Stack *S = new Stack;  S->Next = NULL;  return S; } void Push(Stack *S, ElementType X) {  Stack *p = new Stack;  p->Next = S;  S->Element = X;  S = p; } ElementType Pop(Stack *S) {  Stack *p = S;  if(S->Next)  { S = S->Next; delete p;  }  return S->Element; } 

隊列ADT

  像棧一樣,隊列也是一種表,然而,使用隊列時插入在一端進行而刪除則在另一端進行。隊列的基本操作時Enqueue(入隊)和Dequeue(出隊),入隊是指在表的末端rear插入一個元素,而出隊是刪除(或者返回)在表的開頭front的元素。

  如同棧的情形一樣,棧的實現可以用指針和數組的方式,數組的方式筆者同樣在之前做過介紹,今次使用單鏈表的方式實現。

  首先,定義隊列的結構:

struct Queue {  ElementType Element;  Queue *Next; }; 

  隊列ADT的主要操作:

Queue *CreateQueue() {  Queue *p = new Queue;  p->Next = NULL;  return p; } void Enqueue(Queue *rear, ElementType X) {  Queue *p = new Queue;  p->Element = X;  rear->Next = p;  rear = p; } ElementType Dequeue(Queue *front) {  Queue *p = front;  ElementType e = front->Element;  front = front->Next;  delete p;  return e; } 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美电影免费观看网站| 不卡av日日日| 亚洲免费电影在线观看| www欧美日韩| 欧美精品情趣视频| 亚洲成在人线av| 欧美中文在线字幕| 精品亚洲一区二区三区在线播放| 日韩精品视频免费| 1769国内精品视频在线播放| 久久成人精品一区二区三区| 欧美日韩亚洲精品内裤| 青青a在线精品免费观看| 国产成人精品亚洲精品| 在线播放国产一区中文字幕剧情欧美| 国产欧美一区二区三区视频| 久久99久久99精品中文字幕| 色偷偷888欧美精品久久久| 国产精品r级在线| 欧美亚洲另类在线| 精品国产31久久久久久| 日韩中文字幕av| 深夜成人在线观看| 日产精品久久久一区二区福利| 欧美国产第一页| 国产精品亚洲欧美导航| 精品久久久久久久久久| 亚洲精品一区二区三区婷婷月| 日韩欧美亚洲一二三区| 北条麻妃一区二区在线观看| 98精品国产自产在线观看| 国产精品欧美日韩久久| 亚洲国产第一页| 欧美激情一区二区三区在线视频观看| 亚洲一级免费视频| 欧美日韩成人黄色| 国产视频久久久久| 久久久久久久香蕉网| 九九久久综合网站| 久久在精品线影院精品国产| 福利视频导航一区| 日韩中文有码在线视频| 一本大道亚洲视频| 精品一区精品二区| 少妇高潮久久久久久潘金莲| 日韩精品中文字幕在线| 97av在线视频免费播放| 亚州国产精品久久久| 久久艳片www.17c.com| 亚洲欧洲偷拍精品| 日韩亚洲精品电影| 久久激情视频久久| 亚洲欧洲国产精品| 色婷婷av一区二区三区在线观看| 亚洲精品中文字| 亚洲自拍偷拍视频| 欧美午夜性色大片在线观看| 91免费在线视频网站| 欧美一区二区三区免费观看| 成人女保姆的销魂服务| 欧美日韩在线第一页| 国产亚洲精品久久久优势| 亚洲精品资源美女情侣酒店| 45www国产精品网站| 国产精品99久久久久久www| 欧美一区二区色| 久久777国产线看观看精品| 午夜精品久久久久久久男人的天堂| 日韩中文字幕不卡视频| 国产精品第一页在线| 亚洲视频一区二区三区| 欧美精品免费看| 亚洲国产精品久久精品怡红院| 亚洲欧洲自拍偷拍| 国产精品高潮视频| 欧美国产精品人人做人人爱| 亚洲国产精品女人久久久| 一本久久综合亚洲鲁鲁| 久久精品美女视频网站| 一个人www欧美| 亚洲tv在线观看| 成人黄色免费在线观看| 欧美与欧洲交xxxx免费观看| 97久久精品人搡人人玩| 久久69精品久久久久久国产越南| 国产日韩精品综合网站| 久久亚洲国产精品成人av秋霞| 热久久免费视频精品| 17婷婷久久www| 亚洲国产美女精品久久久久∴| 欧美精品videos另类日本| 92国产精品久久久久首页| 欧美成在线视频| 色老头一区二区三区在线观看| 在线视频一区二区| 久久中文精品视频| 欧美性猛交xxxx免费看久久久| 日韩精品在线免费观看| 久久人人爽国产| 亚洲一区av在线播放| 亚洲一区亚洲二区亚洲三区| 国产精品久久久精品| 国产成人精品一区二区在线| 日韩高清人体午夜| 91精品在线看| 国产精品亚洲视频在线观看| 欧美福利视频在线| 国产精品av网站| 国产精品男人爽免费视频1| 欧美大尺度激情区在线播放| 欧美激情视频在线观看| 国产大片精品免费永久看nba| 亚洲综合国产精品| 国产精品久久久久99| 久久深夜福利免费观看| 理论片在线不卡免费观看| 欧美激情在线播放| 日韩精品视频在线播放| 日本精品一区二区三区在线播放视频| 91免费视频国产| 久久久精品一区二区三区| www.99久久热国产日韩欧美.com| 青草热久免费精品视频| 中文字幕亚洲欧美在线| 国产精品日韩电影| 成人中文字幕+乱码+中文字幕| 久久久久成人网| 国产精品大陆在线观看| 久久九九精品99国产精品| 欧美大肥婆大肥bbbbb| 国产精品日日摸夜夜添夜夜av| 国产精品成人国产乱一区| 国产日韩在线看| 亚洲va久久久噜噜噜| 在线成人激情视频| 欧美成人精品不卡视频在线观看| 午夜精品久久久久久99热| 亚洲最新中文字幕| 韩剧1988在线观看免费完整版| 亚洲精品色婷婷福利天堂| 中文字幕av一区中文字幕天堂| 8x海外华人永久免费日韩内陆视频| 国产精品久久一区| 日韩风俗一区 二区| 国产丝袜一区二区三区免费视频| 久久在精品线影院精品国产| 中文字幕成人在线| 国产精品丝袜久久久久久不卡| www.日韩av.com| 91中文字幕在线| 国产成人免费av电影| 国产免费一区二区三区在线能观看| 成人激情av在线| 91精品免费看| 日韩精品中文字幕在线观看| 欧美成人免费一级人片100| 亚洲成色999久久网站| 欧美日韩不卡合集视频| 国产精品久久久久免费a∨大胸| 日韩高清免费观看| 色噜噜久久综合伊人一本| 国产一区二区三区久久精品| 欧美激情xxxx性bbbb| 国产精品极品尤物在线观看|