//Author: Frank R. Mendez
//Title: Insertion Sort
//Description: Accepts int elements and stores it in an array list then sort every element in accending order
//Date: 7/13/13 5:53 PM
#include <iostream>
using namespace std;

class Sort {
public:
    void insertionSort(int x[],int lenght);
    void driver();
    void display();
    int arr[15]; // because insertion sort is less efficient with large list
    int size;
    int i,x,y,z,key;

};

void Sort::driver() {
    cout<<"Enter size of list:" << endl;
    cin>>size;
    cout<<"Enter " << size << " values" << endl;
    cout << endl;
    for(y = 0; y < size; y++) {
        cout << "Value [" << y << "]:";
        cin>>arr[y];
     }
     cout << "Elements of your unsorted list: [ ";
    for(y = 0; y < size; y++){
        cout << arr[y] << " " ;
    }
        cout << "]" << endl;;

        insertionSort(arr,size);
        cout << "Elements of your sorted list: [ ";
        for(z = 0; z < size; z++) {
            cout << arr[z] << " ";
        }
        cout << "]";
}

void Sort::insertionSort(int x[], int length) {
    for(int j =1; j < length; j++){
        key = x[j];
        i=j-1;
        while(x[i]>key && i>=0){
           x[i+1]=x[i];
            i--;
        }
        x[i+1]=key;
    }
}


int main () {
    Sort frank;
    frank.driver();
}
This article has been dead for over six months. Start a new discussion instead.