排序演算法之希爾排序
public class shellsort {
public static void printArray(int[] num)
{
for(int i : num)
{//遍歷陣列
System.out.printf("%d\t", i);
}
System.out.println();
}
public static void main(String []args)
{
int i,j,d;
int tmp=0;
int num[]= {6,5,1,2,0,8,7,9,3,4,10};
d=num.length/2;
while(d>0)
{
for(i=d;i<num.length;i++)
{
tmp=num[i];
j=i-d;
while(j>=0&&tmp<num[j])
{
num[j+d]=num[j];
j=j-d;
}
num[j+d]=tmp;
}
d=d/2;
printArray(num);
}
}
}
結果:
6 5 1 2 0 8 7 9 3 4 10
0 2 1 4 3 5 6 8 7 9 10
0 1 2 3 4 5 6 7 8 9 10
時間復雜度:
O(n^1.3)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/175165.html
標籤:其他
上一篇:視頻會議的應用
下一篇:WireShark抓包后資料分析
