對兩個順序表進行合併。
思想:定義兩個變數(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個有序的...