Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.84 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <time.h>
  3. #include <iostream>
  4.  
  5. void bubbleSort(int *intArray, int length) {
  6.     for(int i = 0; i < length - 1; i++) {
  7.         for(int j = length; j >= i + 1; j--) {
  8.             if(intArray[j] < intArray[j - 1]) {
  9.                 std::swap(intArray[j], intArray[j - 1]);
  10.             }
  11.         }
  12.     }
  13. }
  14.  
  15. void insertionSort(int *arr, int length) {
  16.     int i = 1;
  17.     while(i < length) {
  18.         int j = i;
  19.         while(j > 0 && arr[j - 1] > arr[j]) {
  20.             std::swap(arr[j - 1], arr[j]);
  21.             j--;
  22.         }
  23.         i++;
  24.     }
  25. }
  26.  
  27. void shellSort(int *intArray, int length) {
  28.     int a[length] = {};
  29.     int gap = length / 2;
  30.     while(gap > 0) {
  31.         gap /= 2;
  32.         insertionSort(intArray, gap);
  33.     }
  34. }
  35.  
  36. int main() {
  37.     int arrayLength = 0;
  38.     std::cout << "Write the length of a array: ";
  39.     std::cin >> arrayLength;
  40.     int intArray[arrayLength] = {};
  41.     int intArray1[arrayLength] = {};
  42.     srand(time(NULL));
  43.     for(int i = 0; i < arrayLength; i++) {
  44.         intArray[i] = rand() % 1000 + 1;
  45.     }
  46.     for(int i = 0; i < arrayLength; i++) {
  47.         intArray1[i] = intArray[i];
  48.     }
  49.     std::cout << "=== Unsorted array is ====" << std::endl;
  50.     for(int i = 0; i < arrayLength; i++) {
  51.         std::cout << i << " number is: " << intArray[i] << std::endl;
  52.     }
  53.     bubbleSort(intArray, arrayLength);
  54.     std::cout << std::endl << "=== [BUBBLE SORT] Sorted array is ====" << std::endl;
  55.     for(int i = 0; i < arrayLength; i++) {
  56.         std::cout << i << " number is: " << intArray[i] << std::endl;
  57.     }
  58.     shellSort(intArray1, arrayLength);
  59.     std::cout << std::endl << "=== [SHELL SORT] Sorted array is ====" << std::endl;
  60.     for(int i = 0; i < arrayLength; i++) {
  61.         std::cout << i << " number is: " << intArray1[i] << std::endl;
  62.     }
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement