Java排序 —— 插入排序
思路:
1、第一个不用比较,从第二个元素开始,依次与前一个元素进行比较,如果比它小,则插入其前面。
2、这样能保证序列有序。
public class 插入排序 {
static void ChooseSort(int arr[])
{
for(int i=1;i<arr.length;i++)//每次将第i个元素,插入排好的序列中
{
int value=arr[i];//插入到前面的排好的序列中
int j;//在第二个for循环外赋值,以便第一个for能用j
for(j=i-1;j>=0;j--)
{
if(value<arr[j]) //如果j号元素比value大,则向后移动
{
arr[j+1]=arr[j];
}
else //如果小于或等于value,则停止移动,将value放到j元素的后面
{
break;
}
}
arr[j+1]=value;
}
}
public static void main(String[] args)
{
int arr[]= {1,5,66,88,22,65,84,54,21};
ChooseSort(arr);
System.out.println(Arrays.toString(arr));
}
}
输出结果: