SHARE
TWEET

Untitled

a guest Sep 19th, 2019 79 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. typedef struct ElemType {
  2.     char data[16];
  3.     int key;
  4. } ElemType;
  5.  
  6. #include <stdbool.h>
  7.  
  8. void BubbleSortBothWay(ElemType A[], int n) {
  9.     int i, j;
  10.     ElemType swap;
  11.     bool flag;
  12.     for (i = 0; i < n - 1; i++) {
  13.         flag = true;
  14.         if (i % 2 == 0) {
  15.             for (j = i + 1; j < n; j++) {
  16.                 if (A[j - 1].key > A[j].key) {
  17.                     flag = false;
  18.                     swap = A[j];
  19.                     A[j] = A[j - 1];
  20.                     A[j - 1] = swap;
  21.                 }
  22.             }
  23.  
  24.         } else {
  25.             for (j = n - 1; j > i; j--) {
  26.                 if (A[j - 1].key > A[j].key) {
  27.                     flag = false;
  28.                     swap = A[j];
  29.                     A[j] = A[j - 1];
  30.                     A[j - 1] = swap;
  31.                 }
  32.             }
  33.         }
  34.         if (flag) { return; }
  35.     }
  36. }
  37.  
  38. void BubbleSortDual(ElemType A[], int n) {
  39.     int low = 0, high = n - 1, i;
  40.     ElemType swap;
  41.     bool flag = true;
  42.     while (low < high && flag) {
  43.         flag = false;
  44.         for (i = low; i < high; i++) {
  45.             if (A[i].key > A[i + 1].key) {
  46.                 swap = A[i];
  47.                 A[i] = A[i + 1];
  48.                 A[i + 1] = swap;
  49.                 flag = true;
  50.             }
  51.         }
  52.         high--;
  53.         for (i = high; i > low; i--) {
  54.             if (A[i].key < A[i - 1].key) {
  55.                 swap = A[i];
  56.                 A[i] = A[i - 1];
  57.                 A[i - 1] = swap;
  58.                 flag = true;
  59.             }
  60.         }
  61.         low++;
  62.     }
  63. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top