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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

西南科技大学OJ题 循环队列0965

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 西南科技大学OJ题 循环队列0965 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

循環隊列

根據給定的空間構造順序循環隊列,規定隊滿處理方法為少用一個元素空間。例如,給定5個元素空間構造循環隊列,則只能存放4個元素。試根據入隊及出隊操作判斷隊列最后的元素存放情況,并輸出最后隊列中的元素值,即完成給定入隊及出列操作后一次性全部出隊的元素值。要求采用順序隊列完成,少用一個存儲空間的方法區分隊列的空和滿。

輸入

輸入的第一行為一個自然數n,表示要求構造的順序循環隊列空間數。 第二行為操作次k,接下來k行為出隊入隊操作,每行各代表一次操作。入隊用in表示,出隊用out表示,如果是入隊,則in隔一空格后為一整數,表示入隊元素值。

輸出

輸出完成所有入隊出隊操作后,一次性出隊元素。用一個空格隔開。可以假定隊在完成所有操作后不為空。

樣例輸入

4 7 in 1 in 2 in 5 in 6 out out in 8

樣例輸出

5 8 #include<stdio.h> #include<malloc.h> #include<string.h> struct SqQueue//隊列結構 {int data[100];int front,rear;//前指針,后指針 }; void InitQueue(SqQueue *&q)//創建隊列 {q=(SqQueue *)malloc(sizeof(struct SqQueue));q->front=q->rear=-1;//初始化指針 } int main() {int max,n;char a[5];int b;struct SqQueue *q;//聲明指針 scanf("%d %d",&max,&n);InitQueue(q);//創建指針 q->front=0;for(int i=0;i<n;i++){scanf("%s",a);if(strcmp(a,"in")==0)//如果輸入為in則進隊將數據儲存起來 {if((q->rear-q->front)<max-2){q->rear++;scanf("%d",&q->data[q->rear]);}elsescanf("%d",&b);}else if(strcmp(a,"out")==0)//如果為out則出隊 {q->front++;}}while(q->front<=q->rear){printf("%d ",q->data[q->front++]);} }

?

總結

以上是生活随笔為你收集整理的西南科技大学OJ题 循环队列0965的全部內容,希望文章能夠幫你解決所遇到的問題。

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