import java.util.Arrays;
public
static
void main(String[] args) {
int a[]={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
quicksort(a,0,a.length-1);
System.out.println(Arrays.toString(a));
}
private
static
void quicksort(int[] a, int low, int high) {
int i,j;
if
(low>high) {
return
;
}
i=low;
j=high;
int temp=a[low];
while
(i<j
while
j-->=a[i] && i<j i
if
int a quicksort>Cari maksimum elemen terbesar dalam tatasusunan untuk diisih <h2></h2> Statistik dalam tatasusunan Bilangan kali setiap elemen dengan nilai i muncul disimpan dalam item ke-i <p><img src=
"/static/imghw/default1.png"
data-src=
"https://img.php.cn/upload/article/000/000/067/77209169484aede4f22c59b944a61b0c-8.gif"
class
=
"lazy"
alt=
"10 contoh algoritma pengisihan dalam java"
> kiraan tatasusunan dan mengumpulkan semua kiraan (bermula dari elemen pertama dalam kiraan, setiap item ditambah pada item sebelumnya ) </p>
<p> Isi tatasusunan sasaran secara terbalik: letakkan setiap elemen i dalam kiraan [i] item tatasusunan baharu, dan tolak kiraan [i] untuk setiap elemen yang diletakkan <img src=
"/static/imghw/default1.png"
data-src=
"https://img.php.cn/upload/article/000/000/067/77209169484aede4f22c59b944a61b0c-9.png"
class
=
"lazy"
alt=
"10 contoh algoritma pengisihan dalam java"
></p>
<pre
class
=
"brush:php;toolbar:false"
>import java.util.Arrays;
public
static
void main(String[] args) {
int a[]={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
int temp[]=
new
int[a.length];
mergesort(a,0,a.length-1,temp);
System.out.println(Arrays.toString(a));
}
private
static
void mergesort(int[] a, int left, int right, int[] temp) {
if
(left<right int mergesort merge
private
while
if
temp t i j a templeft><h2></h2>
<p> <br>9. Isih Baldi<br><br>Pautan rujukan<br><img src=
"/static/imghw/default1.png"
data-src=
"https://img.php.cn/upload/article/000/000/067/77209169484aede4f22c59b944a61b0c-10.gif"
class
=
"lazy"
alt=
"10 contoh algoritma pengisihan dalam java"
>Isih baldi boleh dianggap sebagai versi isihan pengiraan yang dipertingkatkan, yang akan diisih Data dibahagikan kepada beberapa baldi tertib, data dalam setiap baldi diisih secara berasingan, dan data dalam setiap baldi dikeluarkan secara bergilir-gilir untuk melengkapkan pengisihan. </p> Isih baldi: Letakkan elemen dengan nilai i ke dalam baldi i, dan akhirnya tuangkan elemen keluar daripada baldi mengikut urutan. <pre
class
=
"brush:php;toolbar:false"
>
public
class
Heap_Sort_07 {
public
static
void main(String[] args) {
int a[]={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
sort(a);
System.out.println(Arrays.toString(a));
}
public
static
void sort(int[] arr) {
int length = arr.length;
buildHeap(arr,length);
for
( int i = length - 1; i > 0; i-- ) {
int temp = arr[0];
arr[0] = arr[i];
arr[i] = temp;
length--;
sink(arr, 0,length);
}
}
private
static
void buildHeap(int[] arr, int length) {
for
(int i = length / 2; i >= 0; i--) {
sink(arr,i, length);
}
}
private
static
void sink(int[] arr, int index, int length) {
int leftChild = 2 * index + 1;
int rightChild = 2 * index + 2;
int present = index;
if
(leftChild arr[present]) {
present = leftChild;
}
if
(rightChild arr[present]) {
present = rightChild;
}
if
(present != index) {
int temp = arr[index];
arr[index] = arr[present];
arr[present] = temp;
sink(arr, present, length);
}
}}