清華大學版資料結構線性表操作學習筆記1

2021-10-08 19:24:53 字數 1293 閱讀 4621

複習資料結構,程式設計線性表的插入和刪除操作測試程式,對指標的用法有了新的體會:

課本上對指標的使用是採用了引用的方式,即用&找到指標的位置,對指標所指內容進行修改,我採用的是直接修改線性表,感覺這種方式更簡單一些,不知理解是否正確,但程式測試沒問題。

#include using namespace std;

#define init_list_size 100 //初始線性表大小為100

#define list_increase 10 //每次擴充線性表長度為10

typedef struct

csqlist;

//新建空白表

bool init_list(csqlist &l)

else

}/*[函式名稱] insert

[函式功能] 往線性表中的第index位置插入元素e

[函式引數] csqlist& l, int index, int e

[函式返回值] 插入成功返回true,插入失敗返回false

*/bool insert(csqlist& l, int index, int e)

//儲存空間已滿

if (l.n >= l.nlistsize)

//index位置後的元素都要後移

for (int i = l.n - 1; i >= index - 1; i--)

l.pelem[index - 1] = e;//插入新元素

l.n++;//線性表元素個數+1

return true;}/*

[函式名稱] delete

[函式功能] 從線性表中刪除第index個元素,並將該元素儲存在ntmpx中

[函式引數] csqlist &l,int index,int &ntempx

[函式返回值] 當刪除成功時返回true,否則返回false

*/bool delete(csqlist& l, int index, int& ntempx)

//從index位置往後元素都向前移動

for (int i = index - 1; i <= l.n - 1; i++)

l.n--; //線性表元素個數減一

return true;}/*

[函式名稱] showlist

[函式功能] 顯示線性表

[函式引數] csqlist l

[函式返回值] 空

*/void showlist(csqlist l)

cout << endl;

}int main()

小白學資料結構 線性表

順序表的操作可視為一維陣列的操作,不予贅述。線性鍊錶的基本操作 構造鍊錶以及對其增刪查改等,在此列出在指定位置插入節點和刪除節點的 c語言實現 include include include typedef int elemtype typedef struct linear list 動態定義線性...

資料結構 線性表操作

1 有兩張非遞增有序的線性表a,b,採用順序儲存結構,兩張表合併用 c表存,要求 c為非遞減有序的,然後刪除c表中值相同的多餘元素。includeusing namespace std define maxsize 100 define overflow 1 define error 0 defin...

資料結構C 版 線性表

一 什麼是線性表 線性表是n個資料元素的有限序列。分類 二 補充知識點 1 棧和佇列有出操作 入操作,對應線性表 陣列 為插入元素和刪除元素,而線性表中要獲取指定元素值可直接使用getelem 函式,獲取後並不刪除元素,可重複獲取。與只能使用一次的棧 佇列有區別 2 順序表 遍歷和定址非常快,插入 ...