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;
}
}
插入排序算法
最新推荐文章于 2024-07-14 22:00:56 发布