avr39-ripe

sortShakeOptimal

Jul 9th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.36 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  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++) { cout << arr[i] << " "; }    cout << endl;
  15.     for (int head = 0, tail=arrSize-1; head < tail; head++, tail--)
  16.     {  
  17.         int  changes=0;
  18.         for (int intTail = tail; intTail > head; intTail--)
  19.         {
  20.             cout << "tailER head:" << head << endl;
  21.             if (arr[intTail] < arr[head])
  22.             {
  23.                 int tmp = arr[intTail];
  24.                 arr[intTail] = arr[head];
  25.                 arr[head] = tmp;
  26.                 changes++;
  27.                 for (int i = 0; i < arrSize; i++) { cout << arr[i] << " "; } cout << "tailER head:" << head << endl;
  28.             }
  29.         }
  30.  
  31.         for (int intHead = head; intHead < tail; intHead++)
  32.         {
  33.             cout << "headER tail:"<< tail << endl;
  34.             if (arr[intHead] > arr[tail])
  35.             {
  36.                 int tmp = arr[intHead];
  37.                 arr[intHead] = arr[tail];
  38.                 arr[tail] = tmp;
  39.                 changes++;
  40.                 for (int i = 0; i < arrSize; i++) { cout << arr[i] << " "; } cout << "headER tail:"<< tail << endl;
  41.             }
  42.         }
  43.         if(!changes){cout << "No more changes!\n" << endl; break;};
  44.     }
  45.  
  46.     for (int i = 0; i < arrSize; i++) { cout << arr[i] << " "; }    cout << endl;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment