字符串队列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语言队列问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: M2Det: A Single-Shot
- 下一篇: 小波包分解、重构 matlab代码