using namespace std; class Sort { public: int SortOddEven(int a[],int length); int swap(int &a, int &b); int parttion(int a[], int left,int right); void InsertSortLowToHigh(int a[], int left, int right); void InsertSortHighToLow(int a[], int left, int right); void Sort::printArr(int arr[], int length); };
void Sort::printArr(int arr[], int length) { for (int i = 0;i < length;i++) { cout << arr[i] << " "; } cout << endl; }
int Sort::swap(int &a, int &b) { int temp; temp = a; a = b; b = temp; return 0; }
void Sort::InsertSortLowToHigh(int a[], int left,int right) { for (int key = left;key < right;key++) { for (int i = key -1;i >= left;i--) { if (a[key] < a[i]) { swap(a[key] ,a[i]); key = i; } else break; } } return; }
void Sort::InsertSortHighToLow(int a[], int left, int right) { for (int key = left;key < right;key++) { for (int i = key -1;i >= left;i--) { if (a[key] > a[i]) { swap(a[key] ,a[i]); key = i; } else break; } } return; }
int Sort::parttion(int a[], int left, int right) { while (left < right) { while (left < right&&a[left] %2 != 0) left++; while (right > left&&a[right] %2 == 0) right--; if (left < right) { swap(a[left], a[right]); }