欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言中用棧+隊(duì)列實(shí)現(xiàn)隊(duì)列中的元素逆置

 更新時(shí)間:2022年02月11日 09:55:15   作者:MyDreamingCode  
這篇文章主要介紹了C語(yǔ)言中用利用棧和隊(duì)列實(shí)現(xiàn)隊(duì)列中的元素逆置的相關(guān)資料,對(duì)正在學(xué)習(xí)的小伙伴有一定的參考價(jià)值,需要的可以參考一下,希望對(duì)你有所幫助

下面舉例代碼:

提到的Q是一個(gè)隊(duì)列,S是一個(gè)空棧,實(shí)現(xiàn)將隊(duì)列中的元素逆置的算法

#include<stdio.h>
#define MaxSize 10
typedef int ElemType;
typedef struct{
?? ?ElemType data[MaxSize];
?? ?int front,rear;
}Queue;
typedef struct{
?? ?ElemType data[MaxSize];
?? ?int top;
}SqStack;
?
void InitStack(SqStack &S) //初始化棧
{
?? ?S.top = -1;
}
?
bool EmptyStack(SqStack S) //判斷???
{
?? ?if(S.top == -1)
?? ??? ?return true;
?? ?else
?? ??? ?return false;
}
?
bool OverflowStack(SqStack S) //判斷棧是否滿(mǎn)
{
?? ?if(S.top == MaxSize-1)
?? ??? ?return true;
?? ?else
?? ??? ?return false;
}
?
bool Push(SqStack &S,ElemType x) //進(jìn)棧
{
?? ?if(OverflowStack(S))
?? ??? ?return false;
?? ?S.data[++S.top] = x;
?? ?return true;
}
?
bool Pop(SqStack &S,ElemType &x) //出棧
{
?? ?if(EmptyStack(S))
?? ??? ?return false;
?? ?x = S.data[S.top--];
?? ?return true;
}
?
void InitQueue(Queue &Q) //初始化隊(duì)列
{
?? ?Q.front = Q.rear = 0;
}
?
bool IsEmpty(Queue Q) //判斷隊(duì)列是否為空
{
?? ?if(Q.front == Q.rear)
?? ??? ?return true;
?? ?else
?? ??? ?return false;
}
?
bool IsOverflow(Queue Q) //判斷隊(duì)列是否滿(mǎn)
{
?? ?if((Q.rear+1)%MaxSize == Q.front)
?? ??? ?return true;
?? ?else
?? ??? ?return false;
}
?
bool EnQueue(Queue &Q,ElemType x) //進(jìn)隊(duì)列
{
?? ?if(IsOverflow(Q))
?? ??? ?return false;
?? ?Q.data[Q.rear] = x;
?? ?Q.rear = (Q.rear+1)%MaxSize;
?? ?return true;
}
?
bool DeQueue(Queue &Q,ElemType &x) //出隊(duì)列
{
?? ?if(IsEmpty(Q))
?? ??? ?return false;
?? ?x = Q.data[Q.front];
?? ?Q.front = (Q.front+1)%MaxSize;
?? ?return true;
}
?
bool ReverseQueue(Queue &Q)?
{
?? ?SqStack S;
?? ?ElemType x;
?? ?InitStack(S);
?? ?while(!IsEmpty(Q)) //當(dāng)隊(duì)列不為空時(shí),將隊(duì)列中的元素依次放入棧中
?? ?{
?? ??? ?DeQueue(Q,x);
?? ??? ?Push(S,x);
?? ?}
?? ?while(!EmptyStack(S)) //當(dāng)棧不為空時(shí),再將棧中元素依次放入隊(duì)列中
?? ?{
?? ??? ?Pop(S,x);
?? ??? ?EnQueue(Q,x);
?? ?}
?? ?return true;
}
?
void main()
{
?? ?Queue Q;
?? ?InitQueue(Q);
?? ?EnQueue(Q,1);
?? ?EnQueue(Q,2);
?? ?EnQueue(Q,3);
?? ?ReverseQueue(Q);
?? ?printf("%d ",Q.data[Q.front]);
}

(根據(jù)主函數(shù)中代碼)演示:

例如一開(kāi)始隊(duì)列中元素為3 2 1 ->出

1. 將隊(duì)列中元素依次放到棧中,此時(shí)棧:1 2 3 ->出

2. 再將棧中的元素依次放入隊(duì)列中,此時(shí)隊(duì)列:1 2 3 ->出 

到此這篇關(guān)于C語(yǔ)言中用棧+隊(duì)列實(shí)現(xiàn)隊(duì)列中的元素逆置的文章就介紹到這了,更多相關(guān)用棧+隊(duì)列實(shí)現(xiàn)隊(duì)列中的元素逆置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • OpenCV實(shí)現(xiàn)圖像輪廓檢測(cè)以及外接矩形

    OpenCV實(shí)現(xiàn)圖像輪廓檢測(cè)以及外接矩形

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)圖像輪廓檢測(cè)以及外接矩形,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C語(yǔ)言入門(mén)之查找子串問(wèn)題

    C語(yǔ)言入門(mén)之查找子串問(wèn)題

    這篇文章主要介紹了C語(yǔ)言入門(mén)之查找子串問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Cocos2d-x UI開(kāi)發(fā)之CCControlSwitch控件類(lèi)使用實(shí)例

    Cocos2d-x UI開(kāi)發(fā)之CCControlSwitch控件類(lèi)使用實(shí)例

    這篇文章主要介紹了Cocos2d-x UI開(kāi)發(fā)之CCControlSwitch控件類(lèi)使用實(shí)例,本文代碼中含大量注釋講解了CCControlSwitch控件類(lèi)的使用,需要的朋友可以參考下
    2014-09-09
  • C++中char[]能修改char*卻不行

    C++中char[]能修改char*卻不行

    本文主要介紹了C++中char[]能修改char*卻不行,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Qt實(shí)現(xiàn)部件透明及陰影效果的示例代碼

    Qt實(shí)現(xiàn)部件透明及陰影效果的示例代碼

    本文主要介紹了Qt實(shí)現(xiàn)部件透明及陰影效果的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)WAV文件讀寫(xiě)的操作

    C++標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)WAV文件讀寫(xiě)的操作

    本文將使用標(biāo)準(zhǔn)C++庫(kù)實(shí)現(xiàn)對(duì)數(shù)據(jù)為PCM格式的WAV文件的讀寫(xiě)操作,只使用標(biāo)準(zhǔn)C++庫(kù)函數(shù),不依賴(lài)于其他的庫(kù),對(duì)C++標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)WAV文件讀寫(xiě)相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-01-01
  • 詳解C++中的左值,純右值和將亡值

    詳解C++中的左值,純右值和將亡值

    C++中本身是存在左值,右值的概念,但是在C11中又出現(xiàn)了左值,純右值,將亡值得概念;這里我們主要介紹這些值的概念,感興趣的可以了解一下
    2022-09-09
  • C/C++中不定參數(shù)的使用詳解

    C/C++中不定參數(shù)的使用詳解

    這篇文章主要為大家詳細(xì)介紹了C/C++中不定參數(shù)的使用的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • OpenGL畫(huà)bezier曲線(xiàn)

    OpenGL畫(huà)bezier曲線(xiàn)

    這篇文章主要為大家詳細(xì)介紹了OpenGL畫(huà)bezier曲線(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • OLEDB打開(kāi)Excel文件的實(shí)現(xiàn)方法

    OLEDB打開(kāi)Excel文件的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇OLEDB打開(kāi)Excel文件的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01

最新評(píng)論