1. 程式人生 > >棧、隊列例題

棧、隊列例題

img 輸出 style 16px 過程 mage 入棧 輸出內容 clas

1、若用一個大小為6的數組實現循環隊列,隊頭指針front指向隊首元素,隊尾指針rear指向隊尾元素的後一個位置。若當前rear和front的值分別為0和3,出隊1個元素,入隊2個元素,rear和front的值分別為:____  (A)

A. 1,5  B. 2,4  C. 4,2  D. 5,1

分析:技術分享圖片

2、5個元素A、B、C、D、E順序入棧,第一個出棧的元素為C,第二個出棧元素為D的出棧序列有____個  (A

A. 1  B. 2  C. 3  D. 4

分析:A進B進C進C出D進D出

3、設中綴表達式 12+(25-5*4)2/5,求:

(1)計算中綴表達式時,操作數棧的變化過程;

(2)給出後綴表達式。

4、後綴表達式:abc-/dc*+

(1)當a=6,b=4,c=2,d=3時,表達式的值為多少;

(2)後綴表達式求值過程中,需用到一個棧,給出棧的變化過程。

5、閱讀下列程序,要求完成下列工作:(1)描述算法功能;(2)當輸入序列為:8,4,2,0時,給出輸出內容;(3)將它改為非遞歸過程。

void test(int &sum)
{
    int x;
    cin>>x;
    if(x == 0)    sum=0;
    else{
        test(sum);
        sum += x;
        }
    cout
<<sum; }

棧、隊列例題