習題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 線性表中的元素可以是各種各樣的,但同一線性表中的資料元素具有相同的特性,因此是屬於同一資料物...