package com.zyg.sort;
public class StraightInsertSortAlgorithm
{
// 直接插入排序
public static void insertSort(int a[], int len)
{
for (int i = 1; i < len; i++)
{
// 如果第i个元素比它前面的元素小
if (a[i] < a[i - 1])
{
int j;
// 记录第i个元素值
int temp = a[i];
// 找到小于第i个元素值的位置,并将其前面元素后移
for (j = i - 1; j >= 0 && a[j] > temp; j--)
a[j + 1] = a[j];
// 将第i个元素插入到找到的位置
a[j + 1] = temp;
}
}
}
// 打印数组
public static void printArray(int a[])
{
for (int i = 0; i < a.length; i++)
{
System.out.println(a[i]);
}
}
public static void main(String[] args)
{
// 定义初始化数组
int a[] =
{ 4, 3, 6, 7, 33, 15, 90, 65, 777, 50 };
// 进行希尔排序
insertSort(a, a.length);
// 打印数组
printArray(a);
}
}
八大排序算法之直接插入排序
最新推荐文章于 2024-09-22 20:14:45 发布