word版試題 | word版答案 |
●試題一
閱讀下列說明和流程圖,將應(yīng)填入(n)處的語句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
下列流程圖用于從數(shù)組K中找出一切滿足:K(I)+K(J)=M的元素對(K(I),K(J))(1≤I≤J≤N)。假定數(shù)組K中的N個不同的整數(shù)已按從小到大的順序排列,M是給定的常數(shù)。
【流程圖】
此流程圖1中,比較"K(I)+K(J)∶M"最少執(zhí)行次數(shù)約為 (5) 。
圖1
●試題二
閱讀下列函數(shù)說明和C代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
函數(shù)print(BinTreeNode*t;DateType &x)的功能是在二叉樹中查找值為x的結(jié)點,并打印該結(jié)點所有祖先結(jié)點。在此算法中,假設(shè)值為x的結(jié)點不多于一個。此算法采用后序的非遞歸遍歷形式。因為退棧時需要區(qū)分右子樹。函數(shù)中使用棧ST保存結(jié)點指針ptr以及標(biāo)志tag,Top是棧頂指針。
【函數(shù)】
void print(BinTreeNode*t;DateType &x){
stack ST;int i,top;top=0;∥置空棧
while(t!=NULL &&t->data!=x‖top!=0)
{while(t!=NULL && t->data!=x)
{
∥尋找值為x的結(jié)點
(1) ;
ST[top].ptr=t;
ST[top].tag=0;
(2) ;
}
if(t!=Null && t->data==x){∥找到值為x的結(jié)點
for(i=1; (3) ;i++)
printf("%d",ST[top].ptr->data);}
else{
while( (4) )
top--;
if(top>0)
{
ST[top].tag=1;
(5) ;
}
}
}
●試題三
閱讀下列函數(shù)說明和C函數(shù),將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
函數(shù)DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:將線性表A中關(guān)鍵碼為key1的結(jié)點開始的len個結(jié)點,按原順序移至線性表B中關(guān)鍵碼為key2的結(jié)點之前,若移動成功,則返回0;否則返回-1。線性表的存儲結(jié)構(gòu)為帶頭結(jié)點的單鏈表,La為表A的頭指針,Lb為表B的頭指針。單鏈表結(jié)點的類型定義為
typedef struct node {
int key;
struct node *next;
}*LinkedList;
希望與其他軟考考生進行交流?點擊進入軟考論壇>>>
更多信息請訪問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |