首先我們得明白什麼是線性表。
根據定義:零個或多個資料元素的有序序列
從這個定義看出:(1)順序性:元素與元素之間是有順序的;(2)空的線性表也是允許存在;(3)線性表是有限的,否則怎麼辦?(大家懂的)
因此,可以這麼說,線性表在邏輯結構和物理結構上都是有順序的。
資料元素是結構體,一般來說。。關於結構體的討論,我會放在c++primer裡進行討論。
基本的線性表的操作有哪些?
節點的定義:
typedef
struct nodelistnode; //其他的資料項根據具體條件新增
線性表的初始化,刪除,插入,取值操作
#include
#include
#include
#define list_init_size 100
#define listincrement 10
#define ok 1
#define overflow -2
#define error -1
typedef int elemtype;
typedef int status;
typedef struct
sqlist;
status initlist_sq(sqlist *l)
status listinsert_sq(sqlist *l,int i,elemtype e)
*q=e; //插入e
++l->length; //表長增1
return ok;
}status listdelete_sq(sqlist *l,int i,elemtype e) //刪除第i個元素
--l->length;
return ok;
}status getelem_sq(sqlist *l,int i,elemtype e)
int main()
//輸出表中的值
for(j=1;j<=n;j++)
printf("%d ",l.elem[j-1]);
system("pause");
return
0;}
資料結構(二) 線性表
線性表是最簡單最常用的資料結構,是一種典型的線性儲存結構。定義 線性表是由n n 0 個資料元素 結點 a1 a 2 an 組成的有限序列。n為表的長度。當n 0,為 空表 n 0時,為 a1,a 2,an 邏輯特徵 非空的線性表只有乙個頭結點,也只有乙個終結點,頭結點只有乙個直接後繼結點,而沒有直...
大話資料結構學習之(二) 線性表
用一段連續的儲存單元一次儲存線性表的資料元素。結構 const int maxsize 20 儲存空間初始分配量 typedef int elemtype elemtype型別根據實際情況而定,這裡假設為int typedef struct sqlist 這裡,我們發現描述順序儲存結構需要三個屬性 ...
資料結構實驗二 線性表
一 實驗目的 鞏固線性表的資料結構,學會線性表的應用。1.回顧線性表的邏輯結構,線性表的物理儲存結構和常見操作。2.學習運用線性表的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗內容 1.建立乙個n個學生成績的順序表,對錶進行插入 刪除 查詢等操作。分別輸出結果...