第二章、線性表 一、線性表的順序表示和實現 1、線性表中第i個數據元素ai的存儲位置: LOC(ai)=LOC(a1)+(i-1)*l l為每個元素需占用l個單元 2、有上式可知,線性表的順序結構是一種隨機存取的存儲結構,但其缺點為插入和刪除比較困難。 3、線性表的數據結構表示為: // 線性表的動 ...
第二章、線性表
一、線性表的順序表示和實現
1、線性表中第i個數據元素ai的存儲位置: LOC(ai)=LOC(a1)+(i-1)*l l為每個元素需占用l個單元
2、有上式可知,線性表的順序結構是一種隨機存取的存儲結構,但其缺點為插入和刪除比較困難。
3、線性表的數據結構表示為:
//-------線性表的動態分配順序存儲結構 #define LIST_INIT_SIZE 100 //線性表存儲空間的初始大小 typedef struct{ Elemtype *elem; //存儲空間基址 int length; //線性表當前長度 int listsize //當前分配的存儲容量 }Sqlist;ViewCode
4、線性表的實現:
//待補充View Code
二、線性表的鏈式表示和實現
1、特點:用一組任意的存儲單元存儲線性表的數據元素(存儲單元可以連續也可以不連續)。
2、線性鏈表的存儲結構:
1 //線性表的單鏈表存儲結構 2 typedef struct Lnode{ 3 Elemtype data; 4 struct Lnode* next; 5 }Lnode,*Linklist;View Code
3、線性表實現:
1 //待補充View Code