数据结构练习题——线性表
一、判斷正誤
(? F? )1. 順序存儲方式的優點是存儲密度大,且插入、刪除運算效率高。
(? T? )2. 線性表在物理存儲空間中也一定是連續的。
(? F? )3. 線性表在順序存儲時,邏輯上相鄰的元素未必在存儲的物理位置次序上相鄰。
(? F? )4. 順序存儲方式只能用于存儲線性結構。
(? F? )5. 線性表的邏輯順序與存儲順序總是一致的。
?
二、單項選擇題
(? C?? )1.數據在計算機存儲器內表示時,物理地址與邏輯地址相同并且是連續的,稱之為:
(A)存儲結構????? (B)邏輯結構????? (C)順序存儲結構???? (D)鏈式存儲結構
(?? B? )2. 一個向量第一個元素的存儲地址是100,每個元素的長度為2,則第5個元素的地址是?????
(A)110???? (B)108???????? (C)100????? (D)120
(?? A? )3. 在n個結點的順序表中,算法的時間復雜度是O(1)的操作是:
(D) 將n個結點從小到大排序
(? B?? )4. 向一個有127個元素的順序表中插入一個新元素并保持原來順序不變,平均要移動? 個元素
(A)8???? (B)63.5???????? (C)63???? (D)7
(? C?? )5.線性表是具有n個________的有限序列(n>0)。?
A.表元素??? B.字符??? C.數據元素???? D.數據項???
?
?
三、編程題
1.請寫一個算法將順序存儲結構的線性表(a1...an)逆置為(an...a1),要求使用最少的附加空間。
?
?
Status ListOppose(SqList &L)
{?? // 顛倒順序表中的數據元素
??? int i;
??? ElemType x;
??? for(i=0; i< L.length/2; i++)?????? // 只需要遍歷原表的一半就可以實現數據元素位置的交換
??? {
??????? x = L.elem[i];
??????? L.elem[i] = L.elem[L.length-i-1];??????? // 數據元素交換->逆置
????? ??L.elem[L.length-i-1] = x;???????????????
??? }
??? return OK;
}
總結
以上是生活随笔為你收集整理的数据结构练习题——线性表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么才是【Python】中的鸭子类型和猴
- 下一篇: 【VulnHub靶场】——HARRYPO