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

首頁 > 編程 > C > 正文

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

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

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在线不卡| 日韩欧美主播在线| 久久久久一本一区二区青青蜜月| 欧美精品videossex性护士| 色伦专区97中文字幕| 国产精品美女av| 大量国产精品视频| 成人黄色免费网站在线观看| 在线播放日韩精品| 欧美成人在线免费视频| yw.139尤物在线精品视频| 日本精品一区二区三区在线| 中文字幕国产亚洲| 精品久久久久久久中文字幕| 日韩美女主播视频| 亚洲一区制服诱惑| 亚洲最大激情中文字幕| 欧美精品一本久久男人的天堂| 日韩精品在线免费观看| 亚洲国产精品久久久久秋霞不卡| 成人激情视频网| 日韩日本欧美亚洲| 久久久久久午夜| 日韩欧美成人免费视频| 色在人av网站天堂精品| 亚洲天堂网站在线观看视频| 亚洲天堂av女优| 8090成年在线看片午夜| 操91在线视频| 日韩精品在线第一页| 日韩日本欧美亚洲| 亚洲男女性事视频| 97国产精品久久| 性色av一区二区咪爱| 亚洲成人精品久久| 88xx成人精品| 国产精品va在线| 性色av一区二区三区红粉影视| 久久国产精品免费视频| 在线午夜精品自拍| 亚洲一区二区免费在线| 超碰精品一区二区三区乱码| 久久久久中文字幕| 北条麻妃久久精品| 国产91精品青草社区| 亚洲另类图片色| 中文字幕亚洲专区| 欧美人成在线视频| 国产精品www色诱视频| 亚洲综合最新在线| 日韩精品视频免费专区在线播放| 亚洲国产欧美一区二区三区同亚洲| 成人福利免费观看| 国产日韩在线精品av| 欧美日韩中文在线| www亚洲精品| 久久男人av资源网站| 国产aⅴ夜夜欢一区二区三区| 国产精品一区二区3区| 日韩欧美中文免费| 欧美贵妇videos办公室| 成人久久久久久| 久久躁日日躁aaaaxxxx| 中文一区二区视频| 国产精选久久久久久| 97香蕉久久超级碰碰高清版| 精品成人69xx.xyz| 国产精品成人一区二区三区吃奶| 久久乐国产精品| 亚洲电影免费观看高清完整版在线观看| 国产成+人+综合+亚洲欧洲| 欧美成人激情图片网| 欧美噜噜久久久xxx| 国产精品私拍pans大尺度在线| 亚洲精品国产精品乱码不99按摩| 精品久久久久久电影| 亚洲成人三级在线| 亚洲国产99精品国自产| 久久人人爽国产| 欧美激情视频在线免费观看 欧美视频免费一| 久久精品视频免费播放| 一区二区三区四区在线观看视频| 热久久美女精品天天吊色| 久热爱精品视频线路一| 国产精品高潮呻吟久久av野狼| 日韩在线观看免费高清| 亚洲free性xxxx护士hd| 国产精品亚洲视频在线观看| 精品国产乱码久久久久久天美| 亚洲精品v天堂中文字幕| 亚洲人成绝费网站色www| 亚洲а∨天堂久久精品喷水| 中文字幕久久亚洲| 黄色成人在线免费| 亚洲xxxx在线| 欧美中文字幕精品| 国产日韩欧美在线播放| 久久av.com| 日韩最新在线视频| 日韩成人av网址| 欧美性生交大片免费| 日韩暖暖在线视频| 欧美精品免费在线观看| 中文字幕免费国产精品| 国产日韩欧美在线播放| 日韩免费高清在线观看| 国产一区二区三区高清在线观看| 不卡av电影在线观看| 亚洲第一免费网站| 亚洲欧洲自拍偷拍| 国产精品视频99| 国产日产欧美精品| 欧美性videos高清精品| 国产日韩欧美日韩| 久久久噜噜噜久久久| 欧美日韩亚洲一区二区| 91在线高清免费观看| 成人黄色免费在线观看| 国语对白做受69| 国产有码一区二区| 国产精品一久久香蕉国产线看观看| 亚洲丁香久久久| 中文字幕欧美日韩在线| 中日韩午夜理伦电影免费| 国产精品视频一区二区三区四| 国产精品青草久久久久福利99| 欧美日本高清一区| 亚洲欧洲自拍偷拍| 国产亚洲欧美一区| 欧美精品videossex88| 久久久久国产一区二区三区| 亚洲一区二区久久久| 高清一区二区三区日本久| 日韩成人免费视频| 九九热精品在线| 成人久久18免费网站图片| 国产精品视频网站| 国产+成+人+亚洲欧洲| 亚洲一区二区三区视频播放| 91国内揄拍国内精品对白| 136fldh精品导航福利| 国产精品一区专区欧美日韩| 国产日韩欧美夫妻视频在线观看| 91国内在线视频| 国产极品jizzhd欧美| 成人精品网站在线观看| 国产精品午夜国产小视频| 久久综合网hezyo| 亚洲欧洲在线免费| 久热在线中文字幕色999舞| 亚洲影院污污.| 日韩在线播放视频| 国产精品嫩草影院久久久| 久久综合伊人77777| 久久久久久九九九| 日韩视频一区在线| 国产日韩专区在线| 国产精品中文字幕在线| 久久久亚洲精选| 日本精品久久中文字幕佐佐木| 日韩在线视频线视频免费网站| 国产亚洲精品美女久久久| 久久香蕉国产线看观看av| 庆余年2免费日韩剧观看大牛|