Академический Документы
Профессиональный Документы
Культура Документы
x = data[p];
i = p;
j = r;
while (true) {
while (data[j] > x)
j--;
if (i < j) {
// Tukarkan data
tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}
else
return j;
}
}
if (p < r) {
q = partisi(data, p, r);
quickSort(data, p, q);
quickSort(data, q+1, r);
}
}
Contoh 2 Quicksort
public class Quicksort2 {
static void quickSort (int a[], int lo, int hi){
// lo adalah index bawah, hi adalah index atas
// dari bagian array yang akan di urutkan
int i=lo, j=hi, h;
int pivot=a[lo];
// pembagian
do{
while (a[i]<pivot) i++;
while (a[j]>pivot) j--;
if (i<=j)
{
h=a[i]; a[i]=a[j]; a[j]=h;//tukar
i++; j--;
}
} while (i<=j);
// pengurutan
if (lo<j) quickSort(a, lo, j);
if (i<hi) quickSort(a, i, hi);
}
for(i=0;i<n;i++){
System.out.print(tabInt[i]+ " ,");
}
System.out.print("\n");
quickSort(tabInt,0,n-1);
System.out.print("\nsetelah di urutkan dengan quick sort\n");
for(i=0;i<n;i++){
System.out.print(tabInt[i]+" , ");
}
}
Contoh heapsort
public class heapsort2 {
public static void main(String args[]){
int n[]={54,73,9,25,61,33,80};
System.out.print("Angka sebelum disorting : ");
for(int i=0;i<n.length;i++)
{
System.out.print(n[i]+" ");
}
System.out.println();