Advertisement
Misipuk

Sort_C_code

Nov 10th, 2017
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.74 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define R 100
  4. #define RAND(R) rand()%R
  5. #define N 10
  6. #define CNT_PRN printf("Count compare: %ld\nCount copy: %ld\n\n", cnt_cmp, cnt_cpy);
  7.  
  8. long cnt_cmp, cnt_cpy;///просто ни нада так делать
  9.  
  10. int best_array(int a[], int n);
  11. int worst_array(int a[], int n);
  12. int avg_array(int a[], int n, int k);
  13. int printf_array(int a[], int n);
  14. int bubble_sort(int a[], int n);
  15. int merge_sort(int a[], int n);
  16.  
  17. int main(int argc, char *argv[]) {
  18.     int array[N];
  19.     printf("BUBBLE:\n");
  20.     best_array(array, N);
  21.     bubble_sort(array, N);
  22.     CNT_PRN
  23.     cnt_cmp = cnt_cpy  = 0;
  24.     avg_array(array, N, 10);
  25.     CNT_PRN
  26.     cnt_cmp = cnt_cpy  = 0;
  27.     worst_array(array, N);
  28.     bubble_sort(array, N);
  29.     CNT_PRN
  30.     return 0;
  31. }
  32.  
  33. int best_array(int a[], int n){
  34.     int i=0;
  35.     for(i=0;i<n;i++) a[i]=i;
  36.     return i;
  37. }
  38.  
  39. int worst_array(int a[], int n){
  40.     int i=0;
  41.     for(i=0;i<n;i++) a[i]=n-1-i;
  42.     return i;
  43. }
  44.  
  45. int avg_array(int a[], int n, int k){
  46.     int i=0, j=0;
  47.     for(j=0;j<k;j++){
  48.         srand(j);
  49.         for(i=0;i<n;i++) a[i]=RAND(R);
  50.         bubble_sort(a,n);
  51.     }
  52.     cnt_cmp/=k;
  53.     cnt_cpy/=k;
  54.     return j;
  55. }
  56.  
  57. int printf_array(int a[], int n){
  58.     int i=0;
  59.     for(i=0;i<n;i++) printf("%d\t", a[i]);
  60.     printf("\n\n");
  61.     return i;
  62. }
  63.  
  64. int bubble_sort(int a[], int n){
  65.     int temp=0, r=n-1, i=0, k=0;
  66.     while(r>0){
  67.         k=0;
  68.         for (i=0; i<r; i++){
  69.             cnt_cmp++;
  70.             if(a[i]>a[i+1]){
  71.                 temp = a[i];
  72.                 a[i]=a[i+1];
  73.                 a[i+1]=temp;
  74.                 cnt_cpy +=3;
  75.                 k=i;
  76.             }
  77.         }
  78.         r=k;
  79.     }
  80. }
  81.  
  82. int merge_sort(int a[], int n){
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement