Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- void quickSort(int arr[], int left, int right) {
- int i = left, j = right;
- int pivot = arr[(left + right) / 2];
- while (i <= j) {
- while (arr[i] < pivot) i++;
- while (arr[j] > pivot) j--;
- if (i <= j) {
- swap(arr[i], arr[j]);
- i++;
- j--;
- }
- }
- if (left < j)
- quickSort(arr, left, j);
- if (i < right)
- quickSort(arr, i, right);
- }
- void bubbleSort(int arr[], int l) {
- for (int i = 0; i < l; i++)
- for (int j = (l - 1); j >= (i + 1); j--) {
- if (arr[j] < arr[j - 1])
- swap(arr[j], arr[j - 1]);
- }
- }
- void selectionSort(int arr[], int l) {
- int min;
- for (int i = 0; i < l-1; i++) {
- min = i;
- for (int j = i+1; j < l; k++)
- if (arr[min] > arr[j])
- min = j;
- swap(arr[i], arr[min]);
- }
- }
- void insertionSort(int arr[], int l) {
- int k = 0, i = 0;
- for (int j = 1; j < l; j++) {
- k = arr[j];
- i = j - 1;
- while (i >= 0 && arr[i] > k) {
- arr[i + 1] = arr[i];
- i -= 1;
- arr[i + 1] = k;
- }
- }
- }
- void merge(int *a, int n)
- {
- int mid = n / 2;
- if (n % 2 == 1)
- mid++;
- int h = 1;
- int *c = (int*)malloc(n * sizeof(int));
- int step;
- while (h < n)
- {
- step = h;
- int i = 0;
- int j = mid;
- int k = 0;
- while (step <= mid)
- {
- while ((i < step) && (j < n) && (j < (mid + step)))
- {
- if (a[i] < a[j])
- {
- c[k] = a[i];
- i++; k++;
- }
- else {
- c[k] = a[j];
- j++; k++;
- }
- }
- while (i < step)
- {
- c[k] = a[i];
- i++; k++;
- }
- while ((j < (mid + step)) && (j<n))
- {
- c[k] = a[j];
- j++; k++;
- }
- step = step + h;
- }
- h = h * 2;
- for (i = 0; i<n; i++)
- a[i] = c[i];
- }
- }
- void calculateSort(int*a, int n) {
- int*b = new int[n],k,i,j;
- for (i = 0; i < n; i++) {
- k = 0;
- for (j = 0; j < n; j++)
- if (a[i] > a[j])
- k++;
- b[k] = a[i];
- }
- for (i = 0; i < n; i++)
- a[i] = b[i];
- }
- int main()
- {
- int a[5] = { 1,2,5,4,3 };
- insertionSort(a, 5);
- for (int i = 0; i < 5; i++) cout << a[i] << ' ';
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement