日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言队列创建

發布時間:2023/12/31 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言队列创建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據結構之隊列,隊列是另一種特殊的線性表,是先進先出的,并且出去的元素會被刪除。就如同我們真實生活中排隊一樣,先到的人排在前面,也最先離開隊列。那么我們就來談一下它的具體實現,這里主要使用鏈式存儲方式。
下面是代碼

#include<stdio.h> #include<stdlib.h> 創建一個鏈表結構 typedef struct QueueNode {int data;struct QueueNode *next; }QueueNode,*Queuelink; 再創建一個隊列結構 typedef struct Queue {Queuelink front, rear;//這里的首尾都是指針型的 }Queue; //初始化隊列 void init(Queue *q) { //初始化為空并分配空間q->front = q->rear = (Queuelink)malloc(sizeof(QueueNode));if (!q->front){exit(0);}//末尾指針指向空q->front->next = NULL; } //入隊操作,這里我們的隊首節點并不存儲值。 void insert(Queue *q, int e) {Queuelink p;p = (Queuelink)malloc(sizeof(QueueNode));if (p == NULL)exit(0);p->data = e;//這部分和鏈表的尾插法一致p->next = NULL;q->rear->next = p;q->rear = p; } //出隊操作,其實就是單鏈表的操作 void out(Queue *q, int *e) {Queuelink p;if (q->front == q->rear){return;}p = q->front->next;*e = p->data;q->front->next = p->next;if (q->rear == p){q->rear = q->front;}free(p); } //判斷是否為空 int isempty(Queue *q) {if (q->front == q->rear)return 1;else return 0; }

總結

以上是生活随笔為你收集整理的C语言队列创建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。