全國計算機四級考試第3章棧和佇列習題練習

2021-12-30 07:05:08 字數 1425 閱讀 6142

一、基礎知識題

3.1 設將整數1,2,3,4依次進棧,但只要出棧時棧非空,則可將出棧操作按任何次序夾入其中,請回答下述問題:

若入、出棧次序為push, pop,push,push, pop, pop,push, pop,則出棧的數字序列為何表示i進棧,pop表示出棧)?

能否得到出棧序列1423和1432?並說明為什麼不能得到或者如何得到。

請分析 1,2 ,3 ,4 的24種排列中,哪些序列是可以通過相應的入出棧操作得到的。

3.2 鏈棧中為何不設定頭結點?

3.3 迴圈佇列的優點是什麼? 如何判別它的空和滿?

3.4 設長度為n的鏈隊用單迴圈鍊錶表示,若設頭指標,則入隊出隊操作的時間為何? 若只設尾指標呢?

3.5 指出下述程式段的功能是什麼?

void demo1 //demo1

seqstack s1, s2, tm

datatype x;

。..//假設棧tmp和s2已做過初始化

while )

while )

void demo2

void demo3

while )

}// demo3

cirqueue q1, q2; // 設datatype 為int 型

int x, i , n= 0;

。.. // 設q1已有內容, q2已初始化過

while )

for二、演算法設計題

3.6 回文是指正讀反讀均相同的字串行,如「abba」和「abdba」均是回文,但「good」不是回文。試寫乙個演算法判定給定的字元向量是否為回文。

3.7 利用棧的基本操作,寫乙個將棧s中所有結點均刪去的演算法void clearstack,並說明s為何要作為指標引數?

3.8 利用棧的基本操作, 寫乙個返回s中結點個數的演算法 int stacksize,並說明s為何不作為指標引數?

3.9 設計演算法判斷乙個算術表示式的圓括號是否正確配對。 『就退掉棧頂的『 、入棧push 和出棧pop等演算法, 其中i為0 或1, 用以表示棧號。

3.11ackerman 函式定義如下:請寫出遞迴演算法。

┌ n+1  當m=0時

akm = │ akm 當m≠0 ,n=0時

└ akm) 當m≠0, n ≠ 0時

3.12用第二種方法 ,即少用乙個元素空間的方法來區別迴圈佇列的隊空和隊滿,試為其設計置空隊,判隊空,判隊滿、出隊、入隊及取隊頭元素等六個基本操作的演算法。

3.13 假設以帶頭結點的迴圈鍊錶表示佇列,並且只設乙個指標指向隊尾元素站點 ,試編寫相應的置空隊、判隊空 、入隊和出隊等演算法。

3.14 對於迴圈向量中的迴圈佇列,寫出求佇列長度的公式。

3.15 假設迴圈佇列中只設rear和quelen 來分別指示隊尾元素的位置和隊中元素的個數,試給出判別此迴圈佇列的隊滿條件,並寫出相應的入隊和出隊演算法,要求出隊時需返回隊頭元素。

全國計算機等級考試四級考試模擬試題

一 選擇題 共70 題,每題1 分,滿分70 分。其中1 55 題為中文題,56 70 題為英文題 下列各題a b c d 四個選項中,只有乙個是正確的,請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。1 若乙個子程式起始位址為3k,呼叫指令call 的記憶體位址為k 1,則執行call 指令...

全國計算機四級考試 MySQL程式設計介紹

mysql有一組實用程式。例如,mysqldump 匯出表的上下文和結構定義,mysqlimport將資料檔案載入到表中,mysqladmin 實現管理w操作,mysql可以使使用者與伺服器互動來執行任意的查詢。每個標準的mysql實用程式都傾向於小巧,重點放在程式可完成特定的 有限的功能。即使my...

全國計算機等級考試四級考試經驗之談

堅定的信心自學計算機是需要一定的條件的,現在回想起來,我當時的條件不算好 第一,沒有基礎。大專學的是中文,而且完全沒有接觸過電腦,對計算機沒有一點感性認識,甚至不知道學電腦要學些什麼 第二,環境很閉塞。畢業後在乙個偏僻的小鎮教書,身邊沒有人懂電腦,有了疑問沒有人能幫自己解決 第三,缺少硬體條件。開始...