複習資料結構,程式設計線性表的插入和刪除操作測試程式,對指標的用法有了新的體會:
課本上對指標的使用是採用了引用的方式,即用&找到指標的位置,對指標所指內容進行修改,我採用的是直接修改線性表,感覺這種方式更簡單一些,不知理解是否正確,但程式測試沒問題。
#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 順序表 遍歷和定址非常快,插入 ...