密查电影在线观看完整版|行尸走肉第7季在线观看免费完整版|欧美区日韩区|五月婷婷深爱五月,一级不卡免费视频 ,色戎 同类电影大尺度未删减版,国产色宗合

軟題庫 學習課程
當前位置:信管網 >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內容

閱讀以下說明和C語言函數,將應填入 (n) 處的宇句寫在答題紙的對應欄內。
【說明】
函數bool Del_elem(STACK *s,char para_ch)的功能是:刪除棧*s中與para_ch之值相等且最接近棧項的元素(字符),若棧中不存在該元素,則函數返回FALSE,否則返回TRUE。其中,STACK是棧的類型名。
函數Del_elem實現上述功能的方法是:利用棧的基本操作,先將棧*s中所有比para_ch之值更接近棧頂的元素暫時存放在臨時工作棧s_bak中,使得與para_ch之值相等的元素成為棧頂元素,此時執(zhí)行出棧操作,即從棧中刪除與para_ch之值相等的元素,最后再將s_bak中的元素依次存回棧*S。
在函數Del_elem中必須使用棧的基本操作進行棧上的運算,實現棧的基本操作的函數原型說明如下:
void InitStack(STACK *S):初始化棧。
void Push(STACK *S,char e):將一個字符壓棧,棧中元素數目增1。
void Pop(STACK *S):棧頂元素出棧,棧中元素數目減1。
char Top(STACK S):返回非空棧的棧頂元素值,棧中元素數目不變。
bool IsEmpty(STACK s):若S是空棧,則返回TRUE;否則返回FALSE。

bool類型定義如下:
typedef enum {FALSE = 0,TRUE = 1} bool;
【C語言函數】
bool Del_elem(STACK *s,char para_ch)
{
STACK s_bak;    /*定義臨時工作棧s_bak*/
char  ch;
bool tag = FALSE;
(1) ;     /*中初始化臨時工作棧s_bak*/

/*中將棧*s中所有比para_ch更接近棧頂的元素暫時存放在臨時工作棧s_bak中*/
while(!IsEmpty(*S)) {
ch = (2) ;    /*取棧頂元素*/
Pop(s);
if (ch == para_ch) {
tag = TRUE;
break;
}
(3)      ;
}

/*將暫存于臨時工作棧s_bak中的元素存回棧*S */
while (   (4)   ) {
ch = Top(s_bak);
(5)  ;
Push(s, ch);
}

return tag;

}

查看答案

相關試題