實現getelem的具體操作,即將線性表l中的第i個位置的元素值返回。(我們只需把陣列第i-1下標的值返回即可)
#define ok 1
#define error 0
#define true 1
#define false 0
typedef int status;
//status 是函式的型別,其值是函式結果狀態**,如ok等
//初始條件,順序表l已存在,i <= i <= listlength(l)
//操作結果,用e返回l中第i個數值
status getelem(sqlist l, int i, elemtype *e)
*e = l.data[i-1];
return ok;
}
思路:
//初始條件,順序表l已存在,i <= i <= listlength(l)
//操作結果,在l中第i個元素位置插入新元素e,l長度+1
status listinsert(sqlist *l, int i, elemtype e)
if(i < 1 || i > l->length+1) //當i不在範圍內時
if(i <= l->length) //插入的資料不在表尾 }
l->data[i-1] = e; //如果在表尾直接插入
l->length++;
return ok;
}
資料結構(4)
1 允許進行插入 刪除操作的一端叫棧頂 2 表的另一端叫棧底 3 當棧中沒有資料元素時稱為空棧 4 插入叫進棧或入棧 5 刪除叫退棧或出棧 特點 後進先出 順序棧typedef struct sqstack 初始化棧 void initstack sqstack s s為棧指標,top為s所指棧的棧...
4 資料結構
4.2 線段樹 4.1 樹狀陣列 4.1.1 普通樹狀陣列 僅支援單點修改區間查詢。const int maxn 1e5 10 int tree maxn intlb int x intread int x return tot void add int num,int x 4.1.2 普通二維樹狀...
資料結構筆記(4)
棧與佇列 一 棧1.順序棧的實現 template class seqstack seqstack void push datatype x datatype pop datatype gettop int empty private datatype data stacksize int top ...