順序表歸併

2022-05-04 05:30:07 字數 1458 閱讀 5601

對兩個順序表進行合併。

思想:定義兩個變數(i,j)分別指向順序表 a和b當前處理的元素,若i元素不大於j元素(<=),則把i元素複製到新錶中,否者將j元素複製到新錶中。

view code

1 #include 

2 #include 34

using

namespace std;56

int main()

7 ;10

11char arr_b = ;

1213

char arr_new[26];//

這裡只操作26個不重複的字母,所以寫死

1415

//定義兩個變數分別指向陣列 a和b當前處理的元素,若i元素不大於j元素(<=),則把i元素複製到新的arr_new陣列中

16int i=0;

17int j=0;

18int n=0;

1920

21//

獲取陣列長度

22int lena = sizeof(arr_a); //

1423

int lenb = sizeof(arr_b); //

1224

25 cout<

順序表a:

"<26

for (int indexa =0; indexa < lena; indexa++)

27

30 cout<31

32 cout<

順序表b:

"<33

for (int indexb =0; indexb < lenb; indexb++)

34

37 cout<38

39//

重要操作:迴圈比較操作,將合併後的元素放到新陣列中

40while (i < lena && j < lenb)

41

49else

50

55 }

5657

//如果 a 、b還有剩餘元素,則繼續插入到新陣列中

58while(i <= lena)

6364

while(j <= lenb)

6970

71int lennew = sizeof(arr_new);

72 cout << "

合併後的新錶:

"<< endl;

7374

for(int index = 0; index < lennew; index++)

75

78 cout << endl;

7980 getchar();

81 }

執行結果:

有序順序表歸併

problem description 已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a b表裡所有元素,並且c表仍然保持有序。input 輸入分為三行 第一行輸入m n 1 m,n 10000 的值,即為表a b的元素個數 第二行輸入m個有...

有序順序表歸併

順序表應用5 有序順序表歸併 time limit 100 ms memory limit 880 kib submit statistic problem description 已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a b表裡所有...

順序表應用5 有序順序表歸併

已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a b表裡所有元素,並且c表仍然保持有序。輸入分為三行 第一行輸入m n 1 m,n 10000 的值,即為表a b的元素個數 第二行輸入m個有序的整數,即為表a的每乙個元素 第三行輸入n個有序的...