Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <algorithm>
- #define TYPE double
- using namespace std;
- int rand32()
- {
- return rand() * RAND_MAX + rand();
- }
- TYPE randomVal(TYPE minR,TYPE maxR){
- TYPE range = (maxR - minR);
- TYPE div = RAND_MAX / range;
- return minR +(rand() / div);
- }
- void BubbleSort_asc (TYPE *arr, int arr_length)
- {
- for (int i = 0; i < arr_length; ++i)
- {
- for (int j = 0; j < arr_length-i-1; ++j)
- {
- // Comparing consecutive data and switching values if value at j > j+1.
- if (arr[j] > arr[j+1])
- {
- arr[j] = arr[j]+arr[j+1];
- arr[j+1] = arr[j]-arr[j + 1];
- arr[j] = arr[j]-arr[j + 1];
- }
- }
- // Value at n-i-1 will be maximum of all the values below this index.
- }
- }
- void BubbleSort_dsc (TYPE *arr, int arr_length)
- {
- for (int i = 0; i < arr_length; ++i)
- {
- for (int j = 0; j < arr_length-i-1; ++j)
- {
- // Comparing consecutive data and switching values if value at j > j+1.
- if (arr[j] < arr[j+1])
- {
- arr[j] = arr[j]+arr[j+1];
- arr[j+1] = arr[j]-arr[j + 1];
- arr[j] = arr[j]-arr[j + 1];
- }
- }
- // Value at n-i-1 will be maximum of all the values below this index.
- }
- }
- void SelectionSort_asc(TYPE *arr, int arr_length)
- { TYPE temp;
- for(int i = 0; i < arr_length; i++)
- {
- for(int j = i+1; j < arr_length; j++)
- {
- if(arr[i] > arr[j])
- {
- temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
- }
- }
- }
- void SelectionSort_dsc(TYPE *arr, int arr_length)
- { TYPE temp;
- for(int i = 0; i < arr_length; i++)
- {
- for(int j = i+1; j < arr_length; j++)
- {
- if(arr[i] < arr[j])
- {
- temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
- }
- }
- }
- void InsertionSort_asc(TYPE *arr, int arr_length)
- {
- TYPE temp;
- for (int i = 1; i < arr_length; i++)
- {
- temp = arr[i];
- int j = i-1;
- while (j >= 0 && arr[j] > temp)
- {
- arr[j+1] = arr[j];
- j = j-1;
- }
- arr[j+1] = temp;
- }
- }
- void InsertionSort_dsc(TYPE *arr, int arr_length)
- {
- TYPE temp;
- for (int i = 1; i < arr_length; i++)
- {
- temp = arr[i];
- int j = i-1;
- while (j >= 0 && arr[j] < temp)
- {
- arr[j+1] = arr[j];
- j = j-1;
- }
- arr[j+1] = temp;
- }
- }
- int main()
- { srand((int)time(NULL));
- int length;
- int minR = 0;
- int maxR = 10000;
- cout << "Enter number of elements " << endl;
- cin >> length;
- TYPE *arr = new TYPE [length];
- for(int i = 0; i < length; i++)
- {
- arr[i] = rand32() % (length * 10);
- }
- InsertionSort_dsc(arr, length);
- // Display the sorted data.
- cout << "Sorted array:" << endl;
- for (int i = 0; i < length; i++)
- {
- cout << arr[i] << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement