首页 > 其他 > 详细

直接 插入排序

时间:2014-08-16 13:46:40      阅读:316      评论:0      收藏:0      [点我收藏+]

   插入排序的基本思想是:对于数组前边部分已经是排好序的了,对于接下来的元素查找其在前面的位置,插入之。如下图中1 2 4 7 已经排好序,接下来找到2的位置,插入到1和3之间。之后同样处理4和9.

                      bubuko.com,布布扣

 参考程序(C语言实现)如下:

bubuko.com,布布扣

#include<stdio.h>
void Insection_Sort(int *A, int array_size)
{
        int i,j,k,tmp;
        for(i=1; i<array_size; i++)
        {
            tmp = A[i];
            j = i-1;
            while(j>=0 && A[j]>tmp)
            {
                A[j+1] = A[j];
                j--;
            }
            A[j+1] = tmp;
        }
}

int main()
{
        int A[7] = {4, 7, 1, 3}, i;
        Insection_Sort(A, 4);
        for(i=0; i<7; i++)
        {
            printf("%d ", A[i]);
        }
        printf("\n");
        return 0;
}

bubuko.com,布布扣

排序过程中执行过程如下图:
bubuko.com,布布扣

bubuko.com,布布扣

 

直接 插入排序,布布扣,bubuko.com

直接 插入排序

原文:http://www.cnblogs.com/2014acm/p/3916311.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!