排序算法

来源:互联网 发布:windows触摸屏输入法 编辑:程序博客网 时间:2024/06/05 02:01

参考:http://www.thelearningpoint.net/computer-science

插入排序

工作原理:

通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。


void InsertionSort(int *array ,int number_of_elements){    int iter,jter;    for(iter=1;iter<number_of_elements;iter++)    {        // 后一个元素        int current_element = array[iter];        // 前一个元素位置        jter = iter-1;        while( jter>=0 && array[jter] > current_element)        {            array[jter+1]= array[jter];            jter--;        }        array[jter+1]= current_element;    }}int main(){    int number_of_elements;    printf("请输入:\n");    scanf("%d",&number_of_elements);    int array[number_of_elements];    int iter;    for(iter =0;iter < number_of_elements;iter++)    {        scanf("%d",&array[iter]);    }    /* Calling this functions sorts the array */    InsertionSort(array,number_of_elements);    for(iter =0;iter < number_of_elements;iter++)    {        printf("%d ",array[iter]);    }    printf("\n");    return 0;}


0 0
原创粉丝点击