小菜一步一步學資料結構之 三 線性表的順序儲存結構

2021-09-22 17:05:11 字數 723 閱讀 9645

線性表的定義和特點

定義:有n(n≥0)個資料特性相同的元素構成的有序序列稱為線性表。

當個數n(n≥0)定於為線性表的長度,n=0時成為空表。

特點:只有乙個首結點和尾結點;

除首尾結點外,其他結點只有乙個直接前驅和乙個直接後繼。

分析26個英文本母組成的英文表(a,b,c,d,…..,z)資料元素都是字母,元素間關係是線性

抽象資料型別的定義為:

adt list

資料關係:r=sqlist;//順序表的型別定義

如果你的c和c++基礎不夠紮實,建議看下我這篇部落格

c、c++函式傳參疑難解析

初始化線性表l(引數用引用)

status initlist_sq(sqlist &l)

初始化線性表l(引數用指標)
"status initlist_sq(sqlist *l)

銷毀線性表l
void destroylist(sqlist &l)

清空線性表l
void clearlist(sqlist &l)

求線性表l的長度
int getlength(sqlist l)

判斷線性表l是否為空
int

小菜一步一步學資料結構之 六 佇列

佇列是一種先進先出的線性表,它只允許在表的一段進行插入,而在另外一端刪除元素。佇列的順序表示 用一維陣列base m define m 100 最大佇列長度 空隊標誌 front rear 入隊 base rear x 出隊 x base front 但是這樣做存在乙個問題,如下 rear m時 r...

小菜一步一步學資料結構之 六 佇列

佇列是一種先進先出的線性表,它只允許在表的一段進行插入,而在另外一端刪除元素。佇列的順序表示 用一維陣列base m define m 100 最大佇列長度 空隊標誌 front rear 入隊 base rear x 出隊 x base front 但是這樣做存在乙個問題,如下 rear m時 r...

小菜一步一步學資料結構之 二 演算法和演算法分析

一次數學課上,老師讓學生練習算數。於是讓他們乙個小時內算出1 2 3 4 5 6 100的得數。全班只有高斯用了不到20分鐘給出了答案,因為他想到了用 1 100 2 99 3 98 50 51 一共有50個101,所以50 101就是1加到一百的得數。後來人們把這種簡便演算法稱作高斯演算法。自然語...