Guest User

Untitled

a guest
Aug 19th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.23 KB | None | 0 0
  1. #include <math.h>
  2. #include <stdlib.h>
  3.  
  4. #define MAX_NUMBER 100
  5.  
  6. int compareCounter = 0;
  7.  
  8. int compare(int a, int b) {
  9.     compareCounter++;
  10.     return a - b;
  11. }
  12.  
  13. int* generateRandomList(int size) {
  14.     int* list = malloc(sizeof(int)*size);
  15.     int i;
  16.     for (i=0; i<size; i++) {
  17.         list[i] = rand()% MAX_NUMBER;
  18.     }
  19.     return list;
  20. }
  21.  
  22. void printList(int* list, int size) {
  23.     int i;
  24.     for (i=0; i<size; i++) {
  25.         printf("%d ",list[i]);
  26.     }
  27.     printf("\n");
  28. }
  29.  
  30. void bubbleSort(int *list, int size) {
  31.     // hier aanvullen!
  32.     int i, j, k;
  33.     for (i = size-1; i > 1; i--){
  34.         k = 0;
  35.         for(j = 0; j < i; j++){
  36.             if(compare(list[j],list[j+1])>0){
  37.                 int temp = list[j];
  38.                 list[j] = list[j+1];
  39.                 list[j+1] = temp;
  40.                 k = 1;
  41.             }
  42.         }
  43.         if(!k) return; //alles was niet 0 is is waar, 0 is altijd nietwaar
  44.     }
  45. }
  46.  
  47. int main(int argc, char **argv) {
  48.     printf("Bubble Sort\n");
  49.     srand(time(NULL));
  50.     int size = 10;
  51.     int *list = generateRandomList(size);
  52.     bubbleSort(list,size);
  53.     printList(list,size);
  54.     printf("aantal vergelijkingen: %d", compareCounter);
  55.     getch();
  56.     return 0;
  57. }
Add Comment
Please, Sign In to add comment