给定两个有序数列,合并成一个新的升序数列

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. const int SIZE = 100;
  5. int na,nb,a[SIZE],b[SIZE],i,j,k;
  6. cin >> na;
  7. for(i = 1 ; i <= na, i++){
  8. cin >> a[i];
  9. }
  10. cin >> nb;
  11. for(i = 1 ; i <= nb ,i++){
  12. cin >> b[i];
  13. }
  14. i = 1 ;
  15. j = 1 ;
  16. while((i <= na) && (i < nb)){
  17. if(a[i] <= b[j]){
  18. cout << a[i ] << ' ';
  19. i++;
  20. }else{
  21. cout << b[j] << ' ';
  22. j++;
  23. }
  24. }
  25. if(i <= na){
  26. for(k = i ; k < na ; k++){
  27. cout << a[k]<< ' ';
  28. }
  29. }(i <= nb){
  30. for(k = j ; k < nb ; k++){
  31. cout << b[k]<< ' ';
  32. }
  33. }
  34. return 0;
  35. }