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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数据结构——队列的C语言实现

發(fā)布時(shí)間:2024/7/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构——队列的C语言实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.什么是隊(duì)列?

2.隊(duì)列的抽象數(shù)據(jù)類型描述

3.隊(duì)列之順序表的C語(yǔ)言實(shí)現(xiàn)

#include<stdio.h> #include<stdlib.h>#define MaxSize 5 #define ElementType int #define ERROR -1typedef struct QNode *Queue; struct QNode{ElementType Data[MaxSize];int rear;int front; }; Queue PtrQ;//1.初始化 Queue MakeEmpty() {Queue PtrQ;PtrQ=(Queue)malloc(sizeof(struct QNode));PtrQ->rear=0;PtrQ->front=0;return PtrQ; }//2.入隊(duì)列 void AddQ(ElementType item,Queue PtrQ) {if((PtrQ->rear+1)%MaxSize==PtrQ->front){printf("隊(duì)列滿\n");return;}PtrQ->rear=(PtrQ->rear+1)%MaxSize;PtrQ->Data[PtrQ->rear]=item; }//3.出隊(duì)列 ElementType DeleteQ(Queue PtrQ) {if(PtrQ->rear==PtrQ->front){printf("隊(duì)列為空,無(wú)法刪除\n");return ERROR;}PtrQ->front=PtrQ->front+1;return PtrQ->Data[PtrQ->front]; }//4.求隊(duì)列長(zhǎng)度 int Length(Queue PtrQ) {return PtrQ->rear-PtrQ->front; }int main() {int i,LengthQ;PtrQ=MakeEmpty();AddQ(24,PtrQ);AddQ(34,PtrQ);AddQ(45,PtrQ);AddQ(76,PtrQ);AddQ(89,PtrQ);LengthQ=Length(PtrQ);printf("隊(duì)列長(zhǎng):%d\n",LengthQ);for(i=PtrQ->front+1;i<PtrQ->rear+1;i++){printf("%d ",PtrQ->Data[i]);}printf("\n");printf("刪除:%d\n",DeleteQ(PtrQ));LengthQ=Length(PtrQ);printf("隊(duì)列長(zhǎng):%d\n",LengthQ);for(i=PtrQ->front+1;i<PtrQ->rear+1;i++){printf("%d ",PtrQ->Data[i]);} printf("\n");return 0; }

4.隊(duì)列之鏈?zhǔn)奖淼腃語(yǔ)言實(shí)現(xiàn)

#include<stdio.h> #include<stdlib.h>#define ElementType int #define ERROR -1typedef struct QNode *Queue; struct QNode{ElementType Data;Queue Next; };//1.初始化 Queue MakeEmpty() {Queue PtrQ;PtrQ = (Queue)malloc(sizeof(struct QNode));PtrQ->Next=NULL;return PtrQ; }//2.入隊(duì)列 Queue AddQ(ElementType item,Queue Rear) {Queue PtrQ;PtrQ=(Queue)malloc(sizeof(struct QNode));PtrQ->Data=item;PtrQ->Next=NULL;Rear->Next=PtrQ;Rear=PtrQ;return Rear; }//3.出隊(duì)列 Queue DeleteQ(Queue Front,Queue Rear) {Queue PtrQ;if(Front->Next==NULL){printf("隊(duì)列為空\(chéng)n");return Rear;}PtrQ=Front->Next;printf("刪除元素:%d\n",PtrQ->Data);Front->Next=PtrQ->Next;if(PtrQ==Rear){Rear=Front;}free(PtrQ);return Rear; }//4.求隊(duì)列長(zhǎng)度 int Length(Queue Front,Queue Rear) {int i=0;while(Front!=Rear){i++;Front=Front->Next;}return i; }int main() {int i,length;Queue Rear,Front;Front=Rear=MakeEmpty();Rear=AddQ(23,Rear);Rear=AddQ(51,Rear);Rear=AddQ(78,Rear);length=Length(Front,Rear);printf("隊(duì)列長(zhǎng):%d\n",length);Queue PtrQ1=Front->Next;for(i=0;i<length;i++){printf("%d ",PtrQ1->Data);PtrQ1=PtrQ1->Next;}printf("\n");Rear=DeleteQ(Front,Rear);length=Length(Front,Rear);printf("隊(duì)列長(zhǎng):%d\n",length);Queue PtrQ2=Front->Next;for(i=0;i<length;i++){printf("%d ",PtrQ2->Data);PtrQ2=PtrQ2->Next;}printf("\n");return 0; }

總結(jié)

以上是生活随笔為你收集整理的数据结构——队列的C语言实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。