資料結構實用教程課後習題答案萬健C

2021-03-03 22:38:44 字數 1813 閱讀 8994

第2章作業參***

1. b

2. a,d

3. 1,n/2,(n-1)/2,n,0,0

4. templete

void sqlist :: reverse()

}templete

void linklist :: reverse()}8.

void add(linklist &pa, linklist &pb)

else if (pa_e.exp > pb_e.exp)

else

else

j++;

if (i <= pa_len) pa.getelem(pa_e, i);

if (j <= pb_len) pb.getelem(pb_e, j);

}} while (j <= pb_len)

}第3章作業參***

1. 1,4,3,5,2)能,ioiiiooioo;

(1,4,2,3,5)不能,因為4先於3和2出棧,4出棧時,2和3都在棧中,且2壓在3之下,故只能3先出棧才能2出棧。

*若借助棧由輸入序列1,2, … , n得到輸出序列為p1, p2, …, pn,則在輸出序列中不可能出現這樣的情形:存在著i2. 借助棧t,刪除棧s中元素值為k的元素。

4.//定義雙向棧類

template //宣告乙個類模板

class dsqstack

;//建構函式,分配m個結點的順序空間,構造乙個空的雙向棧。

template

dsqstack ::dsqstack(int m)

//dsqstack

//析構函式,將棧結構銷毀。

template

dsqstack ::~dsqstack()

//~sqstack

//判棧是否為空,若為空,則返回true,否則返回false。

template

bool dsqstack ::empty(int i) const

//empty

//取棧頂元素的值。先決條件是棧不空。

template

elemtype & dsqstack ::top(int i) const

//top

//入棧,若棧滿,則先擴充套件空間。插入e到棧頂。

template

void dsqstack ::push(const elemtype &e, int i)

if (i == 0)

base[++top[0]] = e;

else

base[--top[1]] = e;

}//push

//出棧,彈出棧頂元素。先決條件是棧非空。

template

void dsqstack ::pop(int i)

//pop

5. (1). a, c, d

(2). 從左到右讀序列,任何時候累計i的個數都應大於等於o的個數。

(3).

bool islegal(char *a)

return true;

}7. 借助佇列q0和q1,將佇列q中的元素重新排列:奇數值元素在前,偶數值元素在後。

8.型別定義:

typedef struct qnode qnode, * qlink;

template //宣告乙個類模板

class cyclinkqueue

;(1)

//建構函式,構造乙個空的迴圈鏈佇列。

template

cyclinkqueue :: cyclinkqueue()

{ m_rear = new qnode ;

資料結構課後習題答案

5 選擇題 ccbdca 6 試分析下面各程式段的時間複雜度。1 o 1 2 o m n 3 o n2 4 o log3n 5 因為x 共執行了n 1 n 2 1 n n 1 2,所以執行時間為o n2 6 o 1 選擇題 babadbcabdcddac 2 演算法設計題 6 設計乙個演算法,通過一...

資料結構課後習題答案

1.填空 是資料的基本單位,在電腦程式中通常作為乙個整體進行考慮和處理。解答 資料元素 是資料的最小單位,是討論資料結構時涉及的最小資料單位。解答 資料項,資料元素 分析 資料結構指的是資料元素以及資料元素之間的關係。從邏輯關係上講,資料結構主要分為和 解答 集合,線性結構,樹結構,圖結構 資料的儲...

資料結構課後習題答案總結

第一章第1章作業 1.1,1.2,1.6 1 3 1.8 1.1 簡述下列概念 資料 資料元素 資料型別 資料結構 邏輯結構 儲存結構 線性結構 非線性結構。資料 指能夠被計算機識別 儲存和加工處理的資訊載體。資料元素 就是資料的基本單位,在某些情況下,資料元素也稱為元素 結點 頂點 記錄。資料元素...