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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

字符串队列c语言,c语言队列问题

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

c語言隊列問題0

rna90072013.10.25瀏覽15次分享舉報

#include#include#define MaxSize 100typedef char QueueElementType;typedef struct { QueueElementType data[MaxSize]; QueueElementType *base; int rear; int front;}SeqQueue; SeqQueue InitQueue() { //初始化隊列 Se... #include#include#define MaxSize 100typedef char QueueElementType;typedef struct { QueueElementType data[MaxSize]; QueueElementType *base; int rear; int front;}SeqQueue;

SeqQueue InitQueue() { //初始化隊列 SeqQueue Q; Q.base = (QueueElementType*)malloc(MaxSize*sizeof(QueueElementType)); if(!Q.base) { printf("內存不夠\n"); exit(0); } Q.rear = 0; Q.front = 0; return Q;}

int QueueEmpty(SeqQueue Q) { //判斷隊列是否空 return(Q.rear == Q.front)? 1:0;}

int QueueFull(SeqQueue Q) { //判斷隊列是否滿 return (Q.front == (Q.rear+1)%MaxSize)? 1:0;}

SeqQueue EnQueue(SeqQueue Q,QueueElementType x) { //入隊操作 if(QueueFull(Q)) { printf("隊滿,入隊失敗\n"); } else { *(Q.base+Q.rear) = x; Q.rear = (Q.rear+1) % MaxSize; printf("元素%c入隊\n",x); } return Q;}

SeqQueue DeQueue(SeqQueue Q,QueueElementType *e) { //出隊操作 if(Q.front == Q.rear) { printf("隊空,出隊失敗\n"); } else { *e = *(Q.base + Q.front); Q.front = (Q.front + 1) % MaxSize; } return Q;}

QueueElementType GetHead(SeqQueue Q) { //讀取隊頭元素 if(QueueEmpty(Q)) { printf("隊空,讀取隊頭元素失敗\n"); return 0; } else return *(Q.base+Q.front);}

int Length(SeqQueue Q) { //隊列元素個數 return(Q.rear - Q.front);}

void Display(SeqQueue Q) { //遍歷隊列 int i; for(i = Q.front; i < Q.rear; i++) { printf(" %c ",*(Q.base+i)); }

}

void Destroy(SeqQueue Q) { //釋放隊列 free(Q.base); printf("隊列釋放完畢\n");}

void main() { SeqQueue Q; QueueElementType e; printf("初始化隊列\n"); Q = InitQueue(); if(QueueEmpty(Q)) { printf("隊列為空\n"); } else { printf("隊列不為空\n"); } printf("進隊元素a,b,c\n"); Q = EnQueue(Q,'a'); Q = EnQueue(Q,'b'); Q = EnQueue(Q,'c'); printf("出隊元素并且輸出該元素\n"); DeQueue(Q,&e); printf("出隊元素為:%c\n",e); printf("該隊列中元素個數:%d\n",Length(Q)); printf("進隊元素d,e,f\n"); Q = EnQueue(Q,'d'); Q = EnQueue(Q,'e'); Q = EnQueue(Q,'f'); printf("該隊列中元素個數:%d\n",Length(Q)); printf("輸出出隊序列\n"); Display(Q); printf("\n釋放隊列\n"); Destroy(Q);}

展開 為什么 長度是3 不是2 為什么沒出隊成功 求解答 詳細

總結

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

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