Vprento

Сортирање

Dec 4th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.10 KB | None | 0 0
  1. #include <stdio.h>
  2. #define MAX 400
  3. void sort (int *a, int n){
  4.     int i,j;
  5.        for(i=0;i<n;i++){
  6.             for(j=0;j<n-1;j++){
  7.                 if(a[j]>a[j+1]){
  8.                     int tmp=a[j+1];
  9.                     a[j+1]=a[j];
  10.                     a[j]=tmp;
  11.                 }
  12.             }
  13.        }
  14. }
  15. void merge(int *a,int *b,int *c,int n){
  16.     int i=0,j=0,k=0,x;
  17.     while(i<n&&j<n){
  18.         if(a[i]<b[j]){
  19.             c[k++]=a[i++];
  20.         }
  21.         else {
  22.             c[k++]=b[j++];
  23.         }
  24.     }
  25.     if(i<n){
  26.         for(x=i;x<n;++x){
  27.             c[k++]=a[x];
  28.         }
  29.     }
  30.         else if(j<n){
  31.             for(x=j;x<n;++x){
  32.                 c[k++]=b[x];
  33.             }
  34.         }
  35. }
  36.  
  37. int main() {
  38.     int n;
  39.     int a[MAX];
  40.     int b[MAX];
  41.     int c[MAX];
  42.     scanf("%d", &n);
  43.     int i;
  44.     for(i = 0; i < n; ++i) {
  45.         scanf("%d", &a[i]);
  46.     }
  47.     for(i = 0; i < n; ++i) {
  48.         scanf("%d", &b[i]);
  49.     }
  50.     sort(a, n);
  51.     sort(b, n);
  52.     merge(a, b, c, n);
  53.     for(i = 0; i < 2 * n; ++i) {
  54.         printf("%d ", c[i]);
  55.     }
  56.     return 0;
  57. }
Add Comment
Please, Sign In to add comment