首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C 語言數據結構:鏈式隊列 6 大操作實現

     編輯:C 語言基礎

結構定義

typedef int ElemType;
struct Node { ElemType data; struct Node *next; };
struct Queue { struct Node *front, *rear; };

6 操作

  1. 初始化:front=rear=NULL。
  2. 入隊:分配節點,尾插,更新 rear;空隊時 front=rear=新節點。
  3. 出隊:保存 front->data,front=front->next,free 老節點;若空則 rear=NULL。
  4. 讀隊首:返回 front->data。
  5. 判空:front==NULL。
  6. 清空:遍歷 free 所有節點,front=rear=NULL。

關鍵細節

  • 入隊尾插賦值順序:`rear = rear->next = newNode` 保證原子性。
  • 出隊後檢查 `front==NULL` 同步置空 rear,防野指針。
  • 主函數測試:入隊 8 元素,出隊 2,入隊 1,讀隊首,出隊剩餘,清空。

總結

鏈式隊列無容量上限,操作均攤 O(1),代碼短小精悍,是動態數據結構入門必修課。掌握 front/rear 同步更新邏輯即可寫出無 Bug 隊列。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved