本文實例為大家分享了C語言實現(xiàn)鏈隊列的具體代碼,供大家參考,具體內(nèi)容如下
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比盈江網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式盈江網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋盈江地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
#include <stdio.h> /* 隊列的結(jié)構(gòu)體 */ typedef int DataType; #define NODE_LEN sizeof(NODE) /* 隊列的節(jié)點 */ typedef struct stNode { DataType data; struct stNode* next; }NODE; /* 隊列 */ typedef struct stQueue { NODE* head; //隊列的頭 NODE* tail; //隊列的尾 }QUEUE; /* 初始化隊列,不帶頭結(jié)點*/ int initQueue(QUEUE* INQueue) { INQueue->head = NULL; INQueue->tail = NULL; return 0; } /* 從隊尾插入一個元素 */ int enQueue(QUEUE* InQueue,DataType InData) { NODE* pNewNode = (NODE*)malloc(NODE_LEN); if (pNewNode == NULL) { return -1; } pNewNode->data = InData; pNewNode->next = NULL; /* 判斷,現(xiàn)在隊列里面有沒有節(jié)點 */ if (InQueue->head == NULL) { InQueue->head = pNewNode; InQueue->tail = pNewNode; } else { InQueue->tail->next = pNewNode; InQueue->tail = pNewNode; } return 0; } /* 遍歷該隊列 */ int visitQueue(QUEUE InQueue) { QUEUE* pstTemp = &InQueue; /* 判斷隊列是否為空隊列 */ if (pstTemp->head == NULL) { printf("visitQueue: this queue is empty\n"); return -1; } /* 遍歷該隊列中的所有元素 */ while (pstTemp->head->next != NULL) { printf("%d ", pstTemp->head->data); pstTemp->head = pstTemp->head->next; } printf("%d \n", pstTemp->head->data); return 0; } /* 出隊列 */ int delQueue(QUEUE* InQueue,DataType* OutData) { if (InQueue->head == NULL) { printf("delQueue: this queue is empty\n"); return -1; } *OutData = InQueue->head->data; NODE* pstTemp = InQueue->head; InQueue->head = InQueue->head->next; delete pstTemp; return 0; } /* 判斷隊列是否是空隊列 */ int isEmptyQueue(QUEUE InQueue) { if (InQueue.head == NULL) { return 0; //是空隊列 } return 1; //不是空隊列 } int main() { /* 創(chuàng)建一個隊列 */ QUEUE queue; DataType data; initQueue(&queue); /* 入隊列 */ enQueue(&queue, 12); enQueue(&queue, 11); enQueue(&queue, 2); visitQueue(queue); /* 出隊列 */ delQueue(&queue, &data); visitQueue(queue); printf("data = %d\n", data); visitQueue(queue); if (0 == isEmptyQueue(queue)) { printf("This is empty queue\n"); } else { printf("This is not empty queue\n"); } return 0; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
新聞標題:C語言實現(xiàn)鏈隊列代碼
網(wǎng)頁地址:http://vcdvsql.cn/article20/pdecjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、電子商務(wù)、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計公司、做網(wǎng)站、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)