03 棧和佇列

2022-05-19 23:39:14 字數 2153 閱讀 1535

定義字元陣列mid,post存放中綴表示式和字尾表示式 

sqstack a;

初始化a;

最後出棧以#結束,先讓#入棧

遍歷中綴表示式,i=0 to len

if mid[i]是數字,則post[j]=mid[i],存放於post陣列中

else if mid[i]是運算子,則判斷與棧中元素的優先順序,若優先順序大於棧中元素,則post[i]=mid[i],否則將mid[i]入棧

else if mid[i]='(', 優先順序最高,將其入棧

else if mid[i]=')',

pop(a,e);

}遍歷結束後,將棧內元素全部出棧,存入到post陣列中

輸出post

此題還沒有解決問題,調了很久一直是編譯錯誤,

1.定義m存放人員個數,n存放報的數字,sqqueue  q;

2.初始化q;

3.i=1 to m

依次給佇列元素編號

4.當佇列不為空時,

i=0 to n-1

讓佇列元素出隊,再重新入隊,則此時隊頭元素為n

此時出隊乙個元素,即為報到的數字

輸出出隊元素

在給佇列賦予編號時,i從0開始,導致輸出錯誤

定義n存放銀行服務的人數,data存放顧客的編號,sqqueue s1,s2;

初始化s1,s2,

遍歷n i=0 to n

cin>>data

if(data為偶數)

則入隊到s2

else

則入隊到s1

遍歷佇列s1,s2,當s1,s2都不為空時,先將s1中的兩個佇列元素出隊,存放到陣列中,再出隊乙個s2中的元素存放到陣列中

將未遍歷結束的佇列中的元素都出隊,並存放於陣列中

i=0 to n

迴圈輸出陣列元素

end

考慮的顧客的最大數值錯誤,題目要求說最大n為1000,然後不小心定義成了100

#include //  使用 string 類時須包含這個檔案

#include #include //呼叫c++中的類:queue

using namespace std;

int main()

while(!b.empty()&&!a.empty()){

for(i=0;i<2;i++){

out=a.front();

a.pop();

cout<

部落格作業03 棧和佇列

定義乙個棧s用來存放str字串的值 str的值依次如s棧中 str的值與s值依次比較 如果有乙個不等,return 0 反之都相等 return 1 建立佇列q1 將1至n的數字依次入佇列 如果m大於n return error 否則while i 沒有考慮到結尾不能有多餘空格 將認識排號為奇數存入...

部落格作業03 棧和佇列

1.1緒論 程式 資料結構 演算法 資料組織方式 1資料的邏輯結構和資料的儲存結構,邏輯結構 集合,線性結構,樹形結構,圖形結構,儲存方式 順序儲存方式,鏈式儲存方式,索引儲存方式,雜湊儲存方式 空間複雜度,時間複雜度 邏輯結構 線性結構 鏈式儲存方式 順序儲存方式。順序儲存方式 操作 creatl...

部落格作業03 棧和佇列

邏輯結構包括 集合,線性結構,樹形結構,圖形結構 線性結構包括 線性表,鍊錶,棧,佇列,串 樹形結構包括 二叉樹等 棧是一種後進先出表,有順序儲存結構和鏈式儲存結構,基本操作包括 初始化 銷毀 進棧 出棧 判斷棧空 去棧頂。主要應用有 字首表示式轉字尾表示式以及字尾表示式的計算 迷宮問題 佇列是一種...