直接插入排序
话不多说,上代码:
public static void directSort(int[] data)
{
if(data==null) return;
for(int i=1;i<data.length;i++)//遍历1到末尾的数
{
int t=data[i],j;
for(j=0;j<i;j++)//与前面已经排序好的数组进行比较,当前面的数组中有一个数大于待排的数,退出循环,记录J的位置。
if(data[j]>t) break;
for(int k=i;k>j;k--)
data[k]=data[k-1];
data[j]=t;
}
}
public static void directSort1(int data[])
{
if(data==null) return;
for(int i=1;i<data.length;i++)
{
for(int j=i;j>0;j--)
{
if(data[j]<data[j-1])
{
int t=data[j];
data[j]=data[j-1];
data[j-1]=t;
}
else break;
}
}
}