Advertisement
Guest User

Untitled

a guest
May 16th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.76 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. void sortSimpleChoice(int *array, int size){
  6.     int i,j,k;
  7.     for(i = 0; i < size - 1; i++){
  8.         for(j = i + 1; j < size; j++){
  9.             if(array[i] > array[j]){
  10.                 k = array[j];
  11.                 array[j] = array[i];
  12.                 array[i] = k;
  13.             }
  14.         }
  15.     }
  16. }
  17.  
  18.  
  19. void sortSimpleInsertion(int *array, int size){
  20.     int i, j, k;
  21.     for(i = 1; i < size; i++){
  22.         for(j = i; j > 0 && array[j - 1] > array[j]; j--){
  23.             k = array[j - 1];
  24.             array[j - 1] = array[j];
  25.             array[j] = k;
  26.         }
  27.     }
  28. }
  29.  
  30. void view(int *array, int size){
  31.     int i;
  32.     for (i = 0; i < size; i++){
  33.         printf("%d ", array[i]);
  34.     }
  35.     printf("\n");
  36. }
  37.  
  38. int main() {
  39.    
  40.     int *array1;
  41.     int size = 50000;
  42.    
  43.     array1 = (int*)malloc(size * sizeof(int));
  44.    
  45.     int i;
  46.    
  47.     for(i = 0; i < size; i++){
  48.         array1[i] = 0 + rand() % 1000;
  49.      
  50.     }
  51.    
  52.     int *array2;
  53.     array2 = (int*)malloc(size * sizeof(int));
  54.    
  55.     for (i = 0; i < size; i++){
  56.         array2[i] = array1[i];
  57.     }
  58.    
  59.     //view(array1, size);
  60.     //view(array2, size);
  61.    
  62.     time_t t0 = time(0);
  63.     sortSimpleChoice(array1, size);
  64.     time_t t1 = time(0);
  65.    
  66.     time_t t2 = time(0);
  67.     sortSimpleInsertion(array2, size);
  68.     time_t t3 = time(0);
  69.    
  70.     double time_1 = difftime(t1, t0);
  71.     double time_2 = difftime(t3, t2);
  72.    
  73.     printf("Сортировка простым выбором: %f\nСортировка простыми вставками: %lf\n", time_1, time_2);
  74.    
  75.    
  76.     //view(array1, size);
  77.     //view(array2, size);
  78.    
  79.     free(array1);
  80.     free(array2);
  81.    
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement