一、完成下面選擇題(每空2分,共14分)。
1. 順序儲存結構中資料中資料元素之間邏輯關係是由( )表示的,鏈結儲存結構中的資料元素之間的邏輯關係是由( )表示的。
a.線性結構 b.非線性結構 c.儲存位置 d.指標
2. 線性表是( )。
a.乙個有限序列,可以為空
b. 乙個有限序列,不能為空
c. 乙個無限序列,可以為空
d. 乙個無限序列,不能為空
3. 已知一維陣列a採用順序儲存結構,每個元素占用4個儲存單元,第9個元素的位址為144,則第乙個元素的位址是( )。
a. 108 b. 180 c. 176 d. 112
4. 在單鏈表中刪除指標p所指結點的後繼結點,則執行( )。
a. p->next= p->next->next
b. p->next= p->next
c. p= p->next->next
d. p= p->next; p->next= p->next->next
5. 若某鍊錶最常用的操作是在最後乙個結點之後插入乙個結點刪除最後乙個結點,則採用( )儲存方式最節省時間。
a. 單鏈表 b. 雙鏈表
c. 帶頭結點的雙迴圈鍊錶 d. 單迴圈鍊錶
6.二維陣列a[7][8]以列序為主序的儲存, 計算陣列元素a[5][3] 的一維儲存空間下標 k=( )。
a. 38 b. 43 c. 26 d. 29
1.在順序表l中第i個位置上插入乙個新的元素e:
status listinsert_sq(sqlist &l , int i , et e)
for( j=l.length ; j>=i ; --j )
;l.elem[j]=e ;
;return ok;
}2. 刪除雙向鍊錶中p所指向的節點演算法:
status delete(dulinklist l, dulinklist p)
free(p);
return ok;
}1. (共12分)用順序表表示集合,設計演算法實現集合的求差集運算,要求不另外開闢空間。
順序表的儲存結構定義如下:
#define maxsize 100
typedef struct
sqlist;
將如下函式,偽碼補充完整(8分),**前先用文字描述自己的演算法思想(4分)。
文字描述演算法(
4分):
void difference(sqlist a, sqlist b)
2. (共15分)已知帶頭結點的單迴圈鍊錶l,編寫演算法實現刪除其中所有值為e 的資料元素結點。
(要求:型別定義、偽碼進行演算法描述和演算法時間複雜度分析)
型別定義:(3分)
偽碼進行演算法描述:(
10分)
時間複雜度分析:(2分)
答案鏈結鏈結
資料結構 第二章 線性表
線性表 是具有相同型別的n n 0 個元素的有限序列,其中n為表長,當n 0時,該錶為空表。線性表的特點 線性表的九種基本操作 initlist l 初始化表。構造乙個空的線性表。destroylist l 銷毀操作。銷毀線性表,並釋放線性表l所占用的記憶體空間。locateelem l,e 按值查...
資料結構 第二章 線性表
線性表 順序儲存 鏈式儲存 順序表單鍊錶 雙鏈表迴圈鍊錶 靜態鍊錶 陣列指標實現 借助陣列實現 定義 線性表是具有相同資料型別的n n 0 個資料元素的有限序列,其中n為表長,當n 0時該線性表是乙個空表。特點 1 個數有限 2 表中元素具有邏輯上的順序性。3 表中元素都是資料元素,每個元素都是單個...
資料結構 第二章 線性表
資料結構 第二章 線性表 模板 引數化的多型 引數化多型性 講程式所處理的物件型別引數化,使一段 可用於處理多種不同型別的物件 採用模板程式設計 提供 共享機制 邏輯功能相同,資料型別不同 定義格式 template 尖括號內又稱模板形參表 返回值型別 函式名 參數列 如果變數被引數化,則返回值型別...