الگوریتم مرتب سازی Insertion Sort

 

#include <iostream.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
void insertionSort(int arr[], int size);
void main (void)
{
    const n = 10;
    int X[n];

    randomize();
    for (int i=0; i<n; i++)
    {
        X[i] = rand() % 100;
        cout << X[i] << "\t";
    }

    insertionSort (X, n);

    cout<< endl;
    for (int i=0; i<n; i++)
        cout << X[i] << "\t";

    getch();
}

void insertionSort(int arr[], int size)
{
    int i, X, index;

for (i=1; i < size; i++)
{
        X = arr[i];
        index = i;
        while ((index > 0) && (arr[index -1] > X))
        {
            arr[index] = arr[index -1];
            index = index - 1;
        }
        arr[index] = X;
}
}