自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)以及實(shí)現(xiàn)

存儲(chǔ) 存儲(chǔ)軟件
隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),其實(shí)就是線性表的單鏈表,只不過它只能尾進(jìn)頭出而已,通常簡(jiǎn)稱為鏈隊(duì)列。為了操作上的方便,將隊(duì)頭指針指向鏈隊(duì)列的頭結(jié)點(diǎn),隊(duì)尾指針指向終端結(jié)點(diǎn)。

 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),其實(shí)就是線性表的單鏈表,只不過它只能尾進(jìn)頭出而已,通常簡(jiǎn)稱為鏈隊(duì)列。為了操作上的方便,將隊(duì)頭指針指向鏈隊(duì)列的頭結(jié)點(diǎn),隊(duì)尾指針指向終端結(jié)點(diǎn)。

當(dāng)隊(duì)列為空時(shí),front和rear都指向頭結(jié)點(diǎn)。

鏈隊(duì)列的結(jié)構(gòu)定義如下所示:

  1. typedef  int QElemType; 
  2. //QNode代表隊(duì)列中元素的結(jié)點(diǎn) 
  3. //QueuePtr指針指向當(dāng)前鏈隊(duì)列 
  4. typedef  struct QNode { 
  5.     QElemType data;     
  6.     struct QNode *next
  7. }QNode, *QueuePtr; 
  8. //定義鏈隊(duì)列的結(jié)構(gòu) 
  9. //front表示隊(duì)頭指針 
  10. //rear表示隊(duì)尾指針 
  11. typedef  struct{ 
  12.     QueuePtr front, rear; 
  13. }LinkQueue; 

鏈隊(duì)列的初始化:

  1. LinkQueue *InitQueue() 
  2.     LinkQueue *Q = new LinkQueue; 
  3.     Q->front = Q->rear = new QNode;     
  4.     if (!Q->front)return 0; 
  5.     Q->front->next = NULL;     
  6.     return Q; 

鏈隊(duì)列的入隊(duì)操作:

  1. //鏈隊(duì)列的入隊(duì)操作 
  2. bool EnQueue(LinkQueue *Q, QElemType e) 
  3.     QueuePtr s = new QNode;     
  4.     if (!s) 
  5.     {         
  6.         cout << "分配失敗" << endl;         
  7.         return false
  8.     } 
  9.     s->data = e; 
  10.     s->next = NULL
  11.     Q->rear->next = s; 
  12.  
  13.     Q->rear = s;     
  14.     cout << e << endl;     
  15.     return true

鏈隊(duì)列的出隊(duì)操作:

[[237267]]

  1. //鏈隊(duì)列的出隊(duì)操作 
  2. bool DeQueue(LinkQueue *Q, QElemType *e) 
  3.     QueuePtr p;     
  4.     if (Q->front == Q->rear) 
  5.     {         
  6.         cout << "空隊(duì)" << endl;         
  7.         return false
  8.     } 
  9.     p = Q->front->next
  10.     *e = p->data; 
  11.     Q->front->next = p->next;     
  12.     if (Q->rear == p) 
  13.     { 
  14.         Q->rear = Q->front; 
  15.     }     
  16.     cout << *e << endl;     
  17.     delete p;     
  18.     return true

主函數(shù)中測(cè)試代碼如下:

  1. int main() 
  2.     LinkQueue *lq = InitQueue();     
  3.     cout << "入隊(duì)的元素:" << endl;     
  4.     for (auto i = 0; i < 10; i++) 
  5.     { 
  6.         EnQueue(lq, i); 
  7.     }     
  8.     int temp = 0;     
  9.     //出隊(duì)的元素 
  10.     cout << "出隊(duì)的元素:" << endl;     
  11.     for (auto i = 0; i < 4; i++) 
  12.     { 
  13.         DeQueue(lq, &temp); 
  14.     }     
  15.     return 0; 

輸出如下所示:

責(zé)任編輯:武曉燕 來源: 碼碼小蟲
相關(guān)推薦

2023-10-10 13:39:53

Spring隊(duì)列優(yōu)化

2018-03-15 08:31:57

二叉樹存儲(chǔ)結(jié)構(gòu)

2020-12-17 10:12:33

數(shù)據(jù)結(jié)構(gòu)算法隊(duì)列

2016-12-20 14:55:52

JavaScript鏈?zhǔn)?/a>結(jié)構(gòu)序列

2009-12-28 10:42:01

MPLS技術(shù)

2021-03-29 08:01:20

JavaScript數(shù)據(jù)結(jié)構(gòu)

2009-07-01 14:37:14

JavaScript異

2021-03-01 23:31:48

隊(duì)列實(shí)現(xiàn)棧存儲(chǔ)

2010-04-21 16:07:04

Oracle邏輯存儲(chǔ)結(jié)

2017-08-04 13:15:59

開發(fā)者故事

2020-11-06 12:48:16

數(shù)據(jù)結(jié)構(gòu)算法分析

2010-04-21 16:55:06

Oracle物理存儲(chǔ)結(jié)

2023-10-18 17:49:58

數(shù)據(jù)結(jié)構(gòu)隊(duì)列結(jié)構(gòu)

2022-08-11 08:03:43

隊(duì)列

2023-12-14 12:56:00

鏈?zhǔn)?/a>調(diào)用代碼

2010-05-10 14:16:50

Oracle樹結(jié)構(gòu)

2019-08-06 09:11:49

數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)操作系統(tǒng)

2021-07-16 07:57:34

Python數(shù)據(jù)結(jié)構(gòu)

2022-11-11 07:48:56

ORM鏈?zhǔn)?/a>輪播圖

2022-11-15 07:50:47

ORM鏈?zhǔn)讲僮?/a>刪除
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)