線性表:
1、不同應用,操作不同。
2、對於複雜的操作,可以用這些資料的組合來操作。
3、介面不同。
順序儲存結構及實現:
連續儲存單元依次儲存、可通過位置儲存元素、可以隨機訪問、無需額外空間、必須預留空間、
各函式只是引數型別不一樣,其功能在本質上完全相同。
若能寫一段通用**,適用於各種資料型別,則**的可重用性大大提高。
作用:線性表中在邏輯結構上相鄰的資料元素儲存在相鄰的物理儲存單元中,即通過資料元素物理儲存的相鄰關係來反映資料元素之間邏輯上的相鄰關係。
順序儲存的實現:一維陣列儲存順序表中的資料
順序表的實現:
class類中的內容:
const int maxsize=100;
template class seqlist // 析構函式為空
int length ( ) // 求線性表的長度
t get ( int i ); // 按位查詢,取線性表的第 i 個元素
int locate ( t x ) ; // 按值查詢,求線性表中值為x 的元素序號
t delete ( int i ) ; // 刪除線性表的第i 個元素
void printlist ( ) ; // 遍歷線性表,按序號依次輸出各元素
};
有參的建構函式的實現
刪除操作
1 如果順序表已空,丟擲下溢異常
2 如果元素刪除位置不存在,丟擲位置異常
3 取出被刪除的元素
4 將下標為i,i+1…n-1的元素一次移到i-1,i,…n-2的位置
5 將順序表的長度減1,返回被刪除的元素
template t seqlist::delete(int i)
按值查詢
template int seqlist::locate(t x)
資料結構 三 線性表
零個或多個資料元素的有限序列 在較複雜的線性表中,乙個資料元素可以由諾幹個資料項組成 結構 define listsize 100 線性表的最大長度 typedef int datatype typedef struct seqlist datatype是資料元素型別,可以根據需要定義,可以使用se...
資料結構(三) 線性表 順序表,鍊錶
一 線性表概述 線性表是最簡單的一種的資料結構,由若干相同特徵的資料元素組成的有限序列 沒有前驅元素的的結點稱為線性表的頭結點,沒有後繼元素的結點稱為線性表的尾結點 線性表按照儲存元素的結構,可以分為順序表和煉表 二 順序表 2.1基本實現 順序表是在計算機記憶體中以陣列形式存在的線性表結構,即記憶...
資料結構 線性表 順序儲存結構
1.線性表定義 線性表 list 零個或多個資料元素的有限序列。關鍵知識點 1.首先它是乙個序列,元素之間室友順序的 2.線性表強調的是有限的,元素個數是有限的 3.在較複雜的線性表中,乙個資料元素可以由若干個資料項組成。其數學定義 若將線性表標記為 a1,ai 1 ai ai 1 a n 則表中的...