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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

C语言队列单链表实现(通俗易懂),可直接使用

發布時間:2023/12/31 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言队列单链表实现(通俗易懂),可直接使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大學生-程序元,開始記錄生活
南楓在這里和大家一同進步,一同交流學習
注:代碼實現用Visual Studio 2019

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LinkNode {ElemType data;struct LinkNode* next; }LinkNode; typedef struct {LinkNode* front, * rear;//鏈表頭,鏈表尾 }LinkQueue;//刪除元素 bool DeQueue(LinkQueue &Q,ElemType &x) {if (Q.front == Q.rear)return false;//隊列為空LinkNode* p = Q.front->next;//頭結點什么都沒存,所以頭結點的下一個結點才有數據x = p->data;Q.front->next = p->next;//斷鏈if (Q.rear == p)//刪除的是最后一個元素{Q.rear = Q.front;//隊設置為空}free(p);return true; } //判斷是否為空 bool IsEmpty(LinkQueue Q) {if (Q.front == Q.rear){return true;}else{return false;} } //入隊,尾部插入法 void EnQueue(LinkQueue& Q, ElemType x) {LinkNode* s = (LinkNode*)malloc(sizeof(LinkNode));s->data = x;s->next = NULL;Q.rear->next = s;//rear始終指向尾部Q.rear = s; } //初始化 void InitQueue(LinkQueue& Q) {Q.front = Q.rear = (LinkNode*)malloc(sizeof(LinkNode));//頭和尾指向同一個結點Q.front->next = NULL; } int main() {LinkQueue Q;bool ret;ElemType element;//存儲出隊元素InitQueue(Q);EnQueue(Q, 3);EnQueue(Q, 4);EnQueue(Q, 5);EnQueue(Q, 6);EnQueue(Q, 7);ret = DeQueue(Q, element);if (ret){printf("出隊成功,元素值為 %d\n", element);}else{printf("出隊失敗\n");}return 0; }

如果您感覺這篇文章有幫助,希望大家可以點個贊,支持一下。
您的支持,就是我的動力。

總結

以上是生活随笔為你收集整理的C语言队列单链表实现(通俗易懂),可直接使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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