首页 > 编程语言 > 详细

插入排序

时间:2017-03-21 22:01:19      阅读:123      评论:0      收藏:0      [点我收藏+]

插入排序基本原理:对于给定的一组元素,初始时假设第一元素自成一个有序序列,其余的元素为无序序列,其余的元素为无序序列;

         接着从第二个元素开始,按照记录的大小依次将当前处理的元素插入到其之前的有序序列中,直到最后一个元素插入到有序序列中为止。

数组{38,65,97,76,13,27,49}

第一趟排序 插入38: [38] 65 97 76 13 27 49

第二趟排序 插入65:[38 65 ] 97 76 13 27 49

第三趟排序 插入97:[38 65 97 ] 76 13 27 49

第四趟排序 插入76:[38 65 76 97 ] 13 27 49

第五趟排序 插入13:[13 38 65 76 97 ] 27 49

第六趟排序 插入27:[13 27 38 65 76 97 ] 49

第七趟排序 插入49:[13 27 38 49 65 76 97 ]

 

class InsertionSort {
public:
    int* insertionSort(int* A, int n) {
        for(int i=1;i<n;i++)
        {
            int temp = A[i];
            int j;
            for(j=i;j>0;j--)
            {
                if(temp<A[j-1])
                {
                    A[j]=A[j-1];
                }
                else
                {
                    break;
                }
            }
            A[j]=temp;
        }
        return A;
    }
};

 

插入排序

原文:http://www.cnblogs.com/omelet/p/6596870.html

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