演算法 線性表

2022-06-02 08:36:08 字數 1043 閱讀 1666

線性表

定義:同一型別的資料元素構成的有序序列的線性結構

陣列實現

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的線性表 矩陣是乙個比較複雜的線性表 學生情況登記表是乙個複雜的線性表 由若干資料項組成的資料元素稱為記錄 由多個記錄構成的線性表又稱為檔案 ...