Advertisement
avr39ripe

SBU021BubleSort

Aug 1st, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include <iostream>
  2. #define OPTIMAL
  3.  
  4. int main()
  5. {
  6.     const int arrSize{ 10 };
  7.     int arr[arrSize]{ 6,1,4,2,8,9,11,3,2,1 };
  8.     //int arr[arrSize]{ 1,1,1,2,2,9,11,1,2,1 };
  9.     //int arr[arrSize]{ 1,2,3,4,5,6,7,8,9,10 };
  10.     //int arr[arrSize]{ 1,2,3,4,5,6,7,9,8,7 };
  11.     //int arr[arrSize]{ 10,9,8,7,6,5,4,3,2,1 };
  12.     //int arr[arrSize]{0};
  13.    
  14.     for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; } std::cout << '\n';
  15.  
  16.     for (int head{ 0 }; head < arrSize; ++head)
  17.     {
  18.         for (int tail{ arrSize - 1 }; tail > head; --tail)
  19.         {
  20. #ifndef OPTIMAL
  21.             if (arr[tail] < arr[tail - 1])
  22. #else
  23.             if (arr[tail] < arr[head])
  24. #endif
  25.             {
  26.                 int tmp{ arr[tail] };
  27. #ifndef OPTIMAL
  28.                 arr[tail] = arr[tail - 1];
  29.                 arr[tail - 1] = tmp;
  30. #else
  31.                 arr[tail] = arr[head];
  32.                 arr[head] = tmp;
  33. #endif
  34.  
  35.                 for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; } std::cout << " head:" << head << '\n';
  36.             }
  37.         }
  38.  
  39.     }
  40.  
  41.     for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; } std::cout << '\n';
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement