Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <time.h>
- #include <iostream>
- void bubbleSort(int *intArray, int length) {
- for(int i = 0; i < length - 1; i++) {
- for(int j = length; j >= i + 1; j--) {
- if(intArray[j] < intArray[j - 1]) {
- std::swap(intArray[j], intArray[j - 1]);
- }
- }
- }
- }
- void insertionSort(int *arr, int length) {
- int i = 1;
- while(i < length) {
- int j = i;
- while(j > 0 && arr[j - 1] > arr[j]) {
- std::swap(arr[j - 1], arr[j]);
- j--;
- }
- i++;
- }
- }
- void shellSort(int *intArray, int length) {
- int a[length] = {};
- int gap = length / 2;
- while(gap > 0) {
- gap /= 2;
- insertionSort(intArray, gap);
- }
- }
- int main() {
- int arrayLength = 0;
- std::cout << "Write the length of a array: ";
- std::cin >> arrayLength;
- int intArray[arrayLength] = {};
- int intArray1[arrayLength] = {};
- srand(time(NULL));
- for(int i = 0; i < arrayLength; i++) {
- intArray[i] = rand() % 1000 + 1;
- }
- for(int i = 0; i < arrayLength; i++) {
- intArray1[i] = intArray[i];
- }
- std::cout << "=== Unsorted array is ====" << std::endl;
- for(int i = 0; i < arrayLength; i++) {
- std::cout << i << " number is: " << intArray[i] << std::endl;
- }
- bubbleSort(intArray, arrayLength);
- std::cout << std::endl << "=== [BUBBLE SORT] Sorted array is ====" << std::endl;
- for(int i = 0; i < arrayLength; i++) {
- std::cout << i << " number is: " << intArray[i] << std::endl;
- }
- shellSort(intArray1, arrayLength);
- std::cout << std::endl << "=== [SHELL SORT] Sorted array is ====" << std::endl;
- for(int i = 0; i < arrayLength; i++) {
- std::cout << i << " number is: " << intArray1[i] << std::endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement