資料結構 問題 B DS順序表 連續操作

2021-10-17 07:41:10 字數 1697 閱讀 8167

題目描述

建立順序表的類,屬性包括:陣列、實際長度、最大長度(設定為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...