public class sort
array[j+1]=temp;}}
//shell排序,當distant==1時。看似是普通的插入排序,但是實際上的複雜度卻很小,因為此時已經差不多排好序了,需要數字挪位的情況不多
public static void shellsort(int array)}}
}//快速排序
public static void quicksort(int array,int left,int right)
int key = partition(array,left,right);
quicksort(array,left,key-1);
quicksort(array,key+1,right);
}public static int partition(int array,int left,int right)
array[right]=array[left];
}array[left]=key;
return left;
}//選擇排序
public static void selectsort(int array)
}if(min!=i)}}
//堆排序
public static void heapsort(int array)
}public static void buildheap(int array,int n)
}public static void siftdown(int array,int i,int n)
int mid = (start+end)/2;
merge_sort(array,start,mid);
merge_sort(array,mid+1,end);
merge(array,start,end);
}public static void merge(int array,int start,int end)else
}while(start<=mid)
while(rstart<=end)
for(int i=0;i}
//輸出函式
public static void output(int array)
system.out.println();
}public static void main(string args) ;
insertsort(array1);
output(array1);
int array2 = ;
bubblesort(array2);
output(array2);
int array3 = ;
quicksort(array3,0,array3.length-1);
output(array3);
int array4 = ;
selectsort(array4);
output(array4);
int array5 = ;
heapsort(array5);
output(array5);
int array6 = ;
shellsort(array6);
output(array6);
int array7 = ;
mergesort(array7);
output(array7);
}}
常見排序演算法的實現
在電腦科學與數學中,排序演算法是一種基本並且常用的演算法,乙個排序演演算法是一種能將一串資料依照特定排序方式的一種演演算法。有效的排序演演算法在一些演算 法中是重要的,如此這些演演算法才能得到正確解答。排序演演算法也用在處理文字資料以及產生人類可讀的輸出結果。由於實際工作中處理的數量巨大,所以排序演...
常見排序演算法的實現
在電腦科學與數學中,排序演算法是一種基本並且常用的演算法,乙個排序演演算法是一種能將一串資料依照特定排序方式的一種演演算法。有效的排序演演算法在一些演演算法中是重要的,如此這些演演算法才能得到正確解答。排序演演算法也用在處理文字資料以及產生人類可讀的輸出結果。由於實際工作中處理的數量巨大,所以排序演...
常見排序演算法的實現
插入排序是最簡單最直觀的排序演算法了,它的依據是 遍歷到第n個元素的時候前面的n 1個元素已經是排序好的了,那麼就查詢前面的n 1個元素把這第n個元素放在合適的位置,如此下去直到遍歷完序列的元素為止。演算法的複雜度也是簡單的,排序第乙個需要1的複雜度,排序第二個需要2的複雜度,因此整個的複雜度就是 ...