線性表
定義:同一型別的資料元素構成的有序序列的線性結構
陣列實現
1 #include2 #include3#define maxsize 80
4 typedef int
elementtype;
56 typedef struct
lnode *list;
1011
//建立新線性表
12list makeempty()
18//
輸出所有元素
19void
print(list l)
25for(i=0;i<=l->last;i++) 28}
29//
查詢元素
30int
find(elementtype x,list ptrl)
36//
在第i個元素的位置插入新元素
37void insert(elementtype x,int
i,list ptrl)
44//
i是否在1~n+1範圍內
45if(i<1||i>ptrl->last+2
) 49
for(j=ptrl->last; j>=i-1; j--)
50 ptrl->data[j+1] = ptrl->data[j];
51 ptrl->data[i-1]=x;
52 ptrl->last++;
53return;54
}55//刪除第i個元素
56void delete(int
i,list ptrl)
62for(j=i; j<=ptrl->last; j++)
63 ptrl->data[j-1]=ptrl->data[j];
64 ptrl->last--;
65return;66
}67intmain()
分析:1、線性表的陣列實現,本質上就是陣列+位置指標,其中位置指標通過乙個變數實現
資料結構 演算法 線性表 順序表
演算法是解決特定問題的步驟的描述。在計算機中演算法是乙個有窮 或語句 指令 的有序集合。它確定了解決某乙個問題的乙個運算序列。對於問題的初始輸入,通過演算法有限步的執行,產生乙個或多個輸出。演算法是解決問題的思想方法 程式是計算機語言的具體實現 共同點 它們的語言不能有二義性 區別 演算法不依賴計算...
資料結構與演算法 線性表
概念 一種資料結構,每個結點最多只有乙個前驅結點和乙個後繼結點 類別 順序表 定長 鍊錶 變長 棧 棧頂刪除 彈棧 棧頂插入 壓棧 後進先出 lifo 佇列 隊頭刪除 出隊 隊尾插入 入隊 先進先出 fifo 線性表的抽象資料型別定義 c 1.template2.class list 棧的抽象資料型...
資料結構與演算法 線性表
n維向量 x1,x2,xn 是乙個長度為n的線性表 英文小寫字母表 a,b,c,z 是乙個長度為26的線性表 一年中的四個季節 春,夏,秋,冬 是乙個長度為4的線性表 矩陣是乙個比較複雜的線性表 學生情況登記表是乙個複雜的線性表 由若干資料項組成的資料元素稱為記錄 由多個記錄構成的線性表又稱為檔案 ...