Advertisement
ppupil2

bubble sort & selection sort

Mar 18th, 2020
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.84 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #include <string.h>
  5.  
  6. void selectsort (int a[], int size) {
  7.     int i, j, jmax;
  8.     int max;
  9.    
  10.     printf("\ni: 0 ~> %d\n", size-1-1);
  11.     for (i = 0; i < size - 1; i++) {
  12.         printf("\ni = %d\n", i);
  13.         max = a[0];
  14.         jmax = 0;
  15.         printf("max = %d, jmax = %d\n", max, jmax);
  16.         printf("j: 1 ~> size-i-1 (%d)\n", size-i-1);
  17.         for (j = 1; j< size - i; j++) {
  18.             printf("j = %d\n", j);
  19.             if (a[j] > max) {
  20.                 printf("a[%d] > max\n", j);
  21.                 max = a[j];
  22.                 jmax = j;
  23.                 printf("max = %d, jmax = %d\n", max, j);
  24.             }
  25.         }
  26.         if (jmax != size - i - 1) {
  27.             printf("jmax (%d) != size-i-1 (%d)\n", jmax, size-i-1);
  28.             max = a[size - i - 1];
  29.             a[size -i -1] = a[jmax];
  30.             a[jmax] = max;
  31.             printf("max = %d, a[%d] = %d, a[%d] = %d\n", max, size-i-1, a[size -i -1], jmax, a[jmax]);
  32.         }
  33.     }
  34. }
  35.  
  36. void bubblesort (int a[], int size) {
  37.     int i, j;
  38.     int temp;
  39.    
  40.     printf("\ni: size-1 (%d) ~> 1\n", size-1);
  41.     for (i = size - 1; i > 0; i--) {
  42.         printf("i = %d\n", i);
  43.         printf("\nj: 0 ~> i-1 (%d)\n", i-1);
  44.         for (j = 0; j < i; j++) {
  45.             if (a[j] > a[j+1]) {
  46.                 printf("a[%d]=%d > a[%d]=%d\n", j, a[j], j+1, a[j+1]);
  47.                 temp = a[j];
  48.                 a[j] = a[j+1];
  49.                 a[j+1] = temp;
  50.                 printf("a[%d] = %d, a[%d] = %d\n", j, a[j], j+1, a[j+1]);
  51.             }
  52.         }
  53.     }
  54. }
  55.  
  56. int main() {
  57.     int x[10] = {45, 12, 3, 6, 98, 1, 56, 11, 87, 0};
  58.     int size = 10;
  59.    
  60.     printf("Before:\n");
  61.     for (int i = 0; i<size; i++) {
  62.         printf("a[%d] ", i);
  63.     }
  64.     printf("\n");
  65.     for (int i = 0; i<size; i++) {
  66.         printf("%-4d ", x[i]);
  67.     }
  68.     printf("\n");
  69.    
  70.     /* bo comment 1 trong 2 phuong phap de tinh */
  71.     //selectsort (x, size);
  72.     //bubblesort (x, size);
  73.    
  74.     printf("\n\nAfter:\n");
  75.     for (int i = 0; i<size; i++) {
  76.         printf("a[%d] ", i);
  77.     }
  78.     printf("\n");
  79.     for (int i = 0; i<size; i++) {
  80.         printf("%-4d ", x[i]);
  81.     }
  82.  
  83.     return (0);
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement