problem description
已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a、b表裡所有元素,並且c表仍然保持有序。
input
輸入分為三行:
第一行輸入m、n(1<=m,n<=10000)的值,即為表a、b的元素個數;
第二行輸入m個有序的整數,即為表a的每乙個元素;
第三行輸入n個有序的整數,即為表b的每乙個元素;
output
輸出為一行,即將表a、b合併為表c後,依次輸出表c所存放的元素。
sample input
5 31 3 5 6 9
2 4 10
sample output
1 2 3 4 5 6 9 10
題解:題目已知有兩個有序的順序表,把這兩個順序表歸併為乙個大的有序的順序表,可以設定i和j分別指向兩個順序表,然後從頭開始,將i所指的元素與j所指的元素進行大小比較,較小的放入到新的歸併的順序表中去,到了最後,一般是有乙個順序表的元素全都歸併到新錶中去了,而另乙個順序表中還有元素,此時,只需要將這個順序表剩下的元素全部加入到新錶中即可。
#include #include#includetypedef int elemtype;
using namespace std;
#define list 11000
#define overflow -1
#define ok 1
typedef struct
sqlist;
int initlist(sqlist &l)
void charu(sqlist &l,int n)
l.length=n;
}void print(sqlist &l)
void guibing(sqlist &l1,sqlist &l2,sqlist &l3)
else
}if(i}
else if(j}
l3.length=k;
}int main()
順序表應用5 有序順序表歸併
已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a b表裡所有元素,並且c表仍然保持有序。輸入分為三行 第一行輸入m n 1 m,n 10000 的值,即為表a b的元素個數 第二行輸入m個有序的整數,即為表a的每乙個元素 第三行輸入n個有序的...
順序表應用5 有序順序表歸併
time limit 100ms memory limit 800k 有疑問?點這裡 已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a b表裡所有元素,並且c表仍然保持有序。輸入分為三行 第一行輸入m n 1 m,n 10000 的值,即為表...
順序表應用5 有序順序表歸併
time limit 100ms memory limit 800k 已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a b表裡所有元素,並且c表仍然保持有序。輸入分為三行 第一行輸入m n 1 m,n 10000 的值,即為表a b的元素個數...