資料結構C語言第三版,鄧文華編習題3答案

2021-08-20 18:09:13 字數 1437 閱讀 8712

習題3參***

3.1.選擇題

(1). d (2). c (3).

d (4). c (5). b (6).

c (7). c (8). c (9).

b (10).b

(11). d (12). b (13).

d (14). c (15). c (16).

c (17). d (18). c (19).

c (20). b

3.2.填空題

(1) filo, fifo

(2) -1, 3 4 x * + 2 y * 3 / -

(3) stack.s[

(4) p>llink->rlink=p->rlink, p->rlink->llink=p->rlink

(5) (r-f+m)%m

(6) top1+1==top2

(7) f==r

(8) front==rear

(9) front==(rear+1)%n

(10) n-1

3.3 答:一般線性表使用陣列來表示的

線性表一般有插入、刪除、讀取等對於任意元素的操作

而棧只是一種特殊的線性表

棧只能**性表的一端插入(稱為入棧,push)或者讀取棧頂元素或者稱為「彈出、出棧」(pop)。

3.4 答:相同點:棧和佇列都是特殊的線性表,只在端點處進行插入,刪除操作。

不同點:棧只在一端(棧頂)進行插入,刪除操作;佇列在一端(top)刪除,一端(rear)插入。

3.5 答:可能序列有14種:

abcd; acbd; acdb; abdc; adcb; bacd; badc; bcad; bcda; bdca; cbad; cbda; cdba; dcba。

3.6 答:不能得到4,3,5,6,1,2,最先出棧的是4,則按321的方式出,不可能得到1在2前的序列,可以得到1,3,5,4,2,6,按如下方式進行push(1), pop(), push(2), push(3), pop(), push(4), push(5), pop(), pop(), pop(), push(6), pop()。

3.7 答:stack

3.8 非遞迴:

int vonvert (int no,int a) //將十進位制數轉換為2進製存放在a,並返回位數

r=0;

while(!empty_stack(p))

return r;

} 遞迴演算法:

void convert(int no)

else

printf(「%d」,no);

}3.9 參考程式:

void view(sestack s)

printf(」\n」);

}3.10 答:char

void out(linkqueue q)

}嘿嘿,感謝吧,標準答案哦

資料結構 C語言版 習題解答

1.3 設n是正整數。試寫出下列程式段中用記號 標註的語句的頻度 2 i 1 k 0 do while i n 1 當n 1時,執行1 當n 2時,執行n 1次 3 i 1 k 0 do while i n 當n 2時,執行2次 當n 2時,執行1次 4 i 1 j 0 while i j n 執行...

資料結構C語言版部分習題及答案

第二章習題與解答 一判斷題 1 線性表的邏輯順序與儲存順序總是一致的。2 順序儲存的線性表可以按序號隨機訪問。3 順序表的插入和刪除操作不需要付出很大的時間代價,因為每次操作平均只有近一半的元素需要移動。4 線性表中的元素可以是各種各樣的,但同一線性表中的資料元素具有相同的特性,因此是屬於同一資料物...

資料結構C語言版部分習題及答案

第二章習題與解答 一判斷題 1 線性表的邏輯順序與儲存順序總是一致的。2 順序儲存的線性表可以按序號隨機訪問。3 順序表的插入和刪除操作不需要付出很大的時間代價,因為每次操作平均只有近一半的元素需要移動。4 線性表中的元素可以是各種各樣的,但同一線性表中的資料元素具有相同的特性,因此是屬於同一資料物...