插入排序算法

package sort;

/**
 * InsertSort
 * 插入排序算法:
 * 基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排
 * 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数
 * 也是排好顺序的。如此反复循环,直到全部排好顺序。
 */

public class InsertSort
{
    private int countStep = 0;
    public void sort(int[] initData)
    {
        int temp = 0;
        int len = initData.length;
        
        for (int i=1; i<len; i++)
        {
            int j = i - 1;
            temp = initData[i];
            for (; j>=0 && temp < initData[j]; j--)
            {
                countStep ++;//记录执行的循环的次数
                initData[j+1] = initData[j];
            }
            initData[j+1]=temp;
        }
    }
    
    public int showStep()
    {
        return countStep;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值