題目描述
建立順序表的類,屬性包括:陣列、實際長度、最大長度(設定為1000)
該類具有以下成員函式:
建構函式:實現順序表的初始化。
插入多個資料的multiinsert(int i, int n, int item)函式,實現在第i個位置,連續插入來自陣列item的n個資料,即從位置i開始插入多個資料。
刪除多個資料的multidel(int i, int n)函式,實現從第i個位置開始,連續刪除n個資料,即從位置i開始刪除多個資料。
編寫main函式測試該順序錶類。
輸入第1行先輸入n表示有n個資料,即n是實際長度;接著輸入n個資料
第2行先輸入i表示插入開始的位置,再輸入k表示有k個插入資料,接著輸入k個資料
第3行先輸入i表示刪除開始的位置,再輸入k表示要刪除k個資料
輸出順序表內容包括順序表的實際長度和資料,資料之間用空格隔開
第1行輸出建立後的順序表內容
第2行輸出執行連續插入後的順序表內容
第3行輸出執行連續刪除後的順序表內容
樣例輸入
6 11 22 33 44 55 66
2 3 99 88 77
4 5樣例輸出
6 11 22 33 44 55 66
9 11 99 88 77 22 33 44 55 66
4 11 99 88 66
#include
using namespace std;
#define error -1
#define ok 1
class seqlist
~seqlist()
//輸入n,以及n個資料
void
initlist()
}}//插入
intinsertlist
(int pos,
int elem)
for(
int i=size-
1;i>=pos-
1;i--
) list[i+1]
= list[i]
; list[pos-1]
= elem;
size++
;return ok;
}//刪除
intdeletelist
(int pos)
for(
int i=pos-
1;i) list[i]
= list[i+1]
; size--
;return ok;
}//在i位置開始,插入多個資料
intmultiinsert
(int i,
int k,
int a)
size +
= k;
return ok;
}//在i位置開始,刪除k個資料
intmultidelte
(int i,
int k)
int p = i-1;
for(
int j=i+k-
1;j) list[p++
]=list[j]
; size -
= k;
return ok;
}//列印
void
printlist()
};intmain()
資料結構 順序表
順序表的特徵 1由唯一的表名標識 2佔據一塊連續的儲存空間 3資料順序存放,元素之間有先後關係 定義動態的順序表 define maxsize 100 typedef struct sqlist 這個結構體型別存放的是順序表的資訊和順序表的資料 初始化順序表 void initsqlist sqli...
資料結構 順序表
順序表示最簡單的乙個資料結構,直接貼 吧,因為比較簡單。include include typedef struct sqlist sqlist void initlist sqlist l l length 0 void getelem sqlist l 初始化 l length j printf...
資料結構順序表
include include include include include include include include include include include include include include using namespace std define maxn 100000...