Quick actions

cmd+k|ctrl+k

Navigation

Languages

1618CppSelectionSort

Snippet info

Language

Cpp

Visibility

public

Author

mhcrnl

Created

2018-10-03T07:14:21Z

Updated

2018-10-04T08:14:54Z

#include <iostream>
using namespace std;

void swap(int *a, int *b){
    int temp = *a;
    *a       = *b;
    *b       = temp;
}

void selectionSort(int arr[], int size){
    int min;
    for(int k=0; k<size-1; k++){
        min = k;
        for(int j=k+1; j<size; j++){
            if(arr[j]<arr[min]){
                min=j;
            }
        }
        swap(&arr[min],&arr[k]);
    }
}

void selectionSortReverse(int arr[], int size){
    int min;
    for(int k=0; k<size-1; k++){
        min = k;
        for(int j=k+1; j<size; j++){
            if(arr[j]>arr[min]){
                min = j;
            }
        }
        swap(&arr[min],&arr[k]);
    }
}

void bubbleSort(int arr[], int size){
    bool swapped;
    for(int i=0; i<size-1; i++){
        swapped = false;
        for(int j=0; j<size-i-1; j++){
            if(arr[j] > arr[j+1]){
                swap(&arr[j], &arr[j+1]);
                swapped = true;
            }
        }
        if(swapped == false) break;
    }
}

void printArray(int arr[], int size){
    for(int i=0; i<size; i++){
        cout << arr[i]<<" ";
    }
    cout<<endl;
}

int averageArray(int arr[], int size){
    int average;
    for(int i=0; i<size; i++){
        average += arr[i];
    }
    return average/size;
}

void oddEven(int arr[], int size){
    for(int i=0; i<size; i++){
        if(arr[i] % 2 == 0)
            cout<<arr[i]<<" is even."<<endl;
        else
            cout<<arr[i]<<" is odd."<<endl;
    }
}

int main() {
    cout << "Hello World from sort array !\n";
    
    int arr[] ={1, 34,5,77,88,34,7,8,34};
    int n = sizeof(arr)/sizeof(arr[0]);
    
    cout<<"Selection Sort : "<<endl;
    selectionSort(arr, n);
    printArray(arr, n);
    
    cout<<"Selection Sort Reverse: "<<endl;
    selectionSortReverse(arr, n);
    printArray(arr,n);
    
    cout<<"Bubble Sort : "<<endl;
    bubbleSort(arr, n);
    printArray(arr, n);
    
    cout<<"Average Array : "<<endl;
    printArray(arr, n);
    int avr = averageArray(arr, n);
    cout<<"Average : "<<avr<<endl;
    
    cout<<"Odd or even: "<<endl;
    oddEven(arr, n);
    
    return 0;
}
INFO