Advertisement
leo99fi

Lab 7 - 3.Сортирање

Dec 17th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.79 KB | None | 0 0
  1. /*Сортирање
  2.  
  3. Да се напише функциjа за сортирање на низа од цели броеви. Потоа да се напише функциjа за споjување на две низи од цели
  4. броеви сортирани во растечки редослед. Оваа функциjа треба во нова низа да ги смести веќе сортираните две низи во нова
  5. низа коjа ќе биде исто така сортирана во растечки редослед. Во оваа функциjа не смее да се повикува функиjата за
  6. сортирање.*/
  7.  
  8. #include <stdio.h>
  9. #define MAX 400
  10.  
  11. void sort(int *a, int n) {
  12.  
  13.     int i, j, swapped = 0;
  14.     for(i = 0; i < n; i++) {
  15.         for(j = 0; j < n-1; j++) {
  16.             if(a[j] > a[j+1]) {
  17.                 int temp = a[j+1];
  18.                 a[j+1] = a[j];
  19.                 a[j] = temp;
  20.             }
  21.         }
  22.     }
  23. }
  24.  
  25. void merge(int *a, int *b, int *c, int n) {
  26.     int i = 0, j = 0, k = 0;
  27.     while (i < n&&j < n) {
  28.         if (a[i] < b[j])
  29.             c[k++] = a[i++];
  30.         else
  31.             c[k++] = b[j++];
  32.     }
  33.  
  34.     int l;
  35.     if (i < n) {
  36.         for (l = i; l < n; l++) {
  37.             c[k++] = a[l];
  38.         }
  39.  
  40.     } else {
  41.         for (l = j; l < n; l++)
  42.             c[k++] = b[l];
  43.     }
  44. }
  45.  
  46. int main() {
  47.  
  48.     int n;
  49.     int a[MAX];
  50.     int b[MAX];
  51.     int c[MAX];
  52.  
  53.     scanf("%d", &n);
  54.     int i;
  55.  
  56.     for(i = 0; i < n; ++i) {
  57.         scanf("%d", &a[i]);
  58.     }
  59.  
  60.     for(i = 0; i < n; ++i) {
  61.         scanf("%d", &b[i]);
  62.     }
  63.  
  64.     sort(a, n);
  65.     sort(b, n);
  66.     merge(a, b, c, n);
  67.  
  68.     for(i = 0; i < 2 * n; ++i) {
  69.         printf("%d ", c[i]);
  70.     }
  71.                 return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement