2008年上半年軟件設(shè)計師下午試卷II[3]

軟件設(shè)計師 責任編輯:xingke518 2008-09-18

添加老師微信

備考咨詢

加我微信

摘要:試題五(共15分)閱讀下列說明和C代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)?!菊f明】棧(Stack)結(jié)構(gòu)是計算機語言實現(xiàn)中的一種重要數(shù)據(jù)結(jié)構(gòu)。對于任意棧,進行插入和刪除操作的一端稱為棧頂(StackTop),而另一端稱為棧底(StackBottom)。棧的基本操作包:創(chuàng)建棧(NewStack)、判斷棧是否為空(IsEmpty)、判斷棧是否已滿(Is

試題五(共15分)

閱讀下列說明和C代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。

【說明】

棧(Stack)結(jié)構(gòu)是計算機語言實現(xiàn)中的一種重要數(shù)據(jù)結(jié)構(gòu)。對于任意棧,進行插入和刪除操作的一端稱為棧頂(Stack Top),而另一端稱為棧底(Stack Bottom)。棧的基本操作包:

創(chuàng)建棧(NewStack)、 判斷棧是否為空(IsEmpty)、判斷棧是否已滿(IsFull)、獲取棧頂數(shù)據(jù)(Top)、壓棧/入棧(Push)、彈棧/出棧(Pop)。

當設(shè)計棧的存儲結(jié)構(gòu)時,可以采取多種方式。其中,采用鏈式存儲結(jié)構(gòu)實現(xiàn)的棧中各數(shù)據(jù)項不必連續(xù)存儲(如圖5-1)。

圖 5-1 棧的鏈式存儲結(jié)構(gòu)示意圖

以下C 代碼采用鏈式存儲結(jié)構(gòu)實現(xiàn)一個整數(shù)棧操作。

【C代碼】

typedef struct List {

int data; // 棧數(shù)據(jù)

struct List* next;  // 上次入棧的數(shù)據(jù)地址

}List;

 

typedef struct Stack {

List* pTop;  // 當前棧頂指針

}Stack;

 

Stack* NewStack() { return (Stack*)calloc(1,sizeof(Stack)); }

 

int IsEmpty(Stack* S){ //判斷棧S是否為空棧

  if((1)) return 1; 

  return 0; 

}

int Top(Stack* S){ //獲取棧頂數(shù)據(jù)。若棧為空,則返回機器可表示的最小整數(shù)

if( IsEmpty(S) ) return INT_MIN;

  return  (2)  ; 

}

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準!

軟考備考資料免費領(lǐng)取

去領(lǐng)取

!
咨詢在線老師!