Advertisement
100rads

sortiranje (nedovršeno)

Jan 8th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.07 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5. #include <Windows.h>
  6. #define N (10000)
  7.  
  8. int Switch(int, int, int);
  9. int GetMin(int, int);
  10. int FindAndInsert();
  11. int CopyArray();
  12. int ExchangeSort(int);
  13. int BubbleSort(int);
  14. int SelectionSort(int);
  15. //int InsertionSort(int);
  16.  
  17. int main()
  18. {
  19.     int i, j;
  20.     int niz[N];
  21.     int min;
  22.     int randNum;
  23.  
  24.     srand((unsigned)time(NULL));
  25.  
  26.     for (i = 0; i < N; i++)
  27.     {
  28.         randNum = rand();
  29.         niz[i] = rand;
  30.     }
  31.    
  32.     printf("Vrijeme potrebno za exchange sort: %d\n", ExchangeSort(&niz));
  33.     printf("Vrijeme potrebno za bubble sort: %d\n", BubbleSort(&niz));
  34.     printf("Vrijeme potrebno za selection sort: %d\n", SelectionSort(&niz));
  35.     //InsertionSort(niz);
  36.  
  37.     return 0;
  38. }
  39.  
  40. int ExchangeSort(int *niz)
  41. {
  42.     int i, j, t1, t2, t;
  43.     t1 = GetTickCount();
  44.  
  45.     for (i = 0; i < N - 1; i++) {
  46.         for (j = i + 1; j < N; j++) {
  47.             if (niz[j] < niz[i]) {
  48.                 Switch(&niz, i, j);
  49.             }
  50.         }
  51.     }
  52.  
  53.     t2 = GetTickCount();
  54.     t = t2 - t1;
  55.     return t;
  56. }
  57.  
  58. int BubbleSort(int *niz)
  59. {
  60.     int i, j, t1, t2, t;
  61.     t1 = GetTickCount();
  62.  
  63.     for (i = 0; i < N - 1; i++) {
  64.         for (j = N - 1; j > i; j--) {
  65.             if (niz[j - 1] > niz[j]) {
  66.                 Switch(&niz, j - 1, j);
  67.             }
  68.         }
  69.     }
  70.  
  71.     t2 = GetTickCount();
  72.     t = t2 - t1;
  73.     return t;
  74. }
  75.  
  76. int SelectionSort(int *niz)
  77. {
  78.     int i, j, min, t1, t2, t;
  79.     t1 = GetTickCount();
  80.  
  81.     for (i = 0; i < N - 1; i++) {
  82.         min = i;
  83.         for (j = i + 1; j < N; j++) {
  84.             if (niz[j] < niz[i]) {
  85.                 min = j;
  86.             }
  87.         }
  88.         Switch(&niz, min, i);
  89.     }
  90.  
  91.     t2 = GetTickCount();
  92.     t = t2 - t1;
  93.     return t;
  94. }
  95.  
  96. int InsertionSort(int *niz)
  97. {
  98.     int i, j;
  99.  
  100.     for (i = 1; i < N; i++) {
  101.         FindAndInsert(&niz, niz[i], i - 1);
  102.     }
  103.     return 0;
  104. }
  105.  
  106. int Switch(int *niz, int i, int j)
  107. {
  108.     int temp;
  109.     temp = niz[i];
  110.     niz[i] = niz[j];
  111.     niz[j] = temp;
  112.  
  113.     return niz;
  114. }
  115.  
  116. int GetMin(int *niz, int i)
  117. {
  118.     int min = niz[i];
  119.     for (i = 0; i < N; i++) {
  120.         if (niz[i] > min) {
  121.             min = niz[i];
  122.         }
  123.     }
  124.  
  125.     return min;
  126. }
  127.  
  128. int FindAndInsert(int *niz, int clan, int prijasnji)
  129. {
  130.  
  131.  
  132.     return niz;
  133. }
  134.  
  135. int CopyArray()
  136. {
  137.  
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement