‘ RinariN ‘

Mei 5, 2008

Program Quick Sort

Diarsipkan di bawah: Java programming — by rinarin @ 8:10 am

import java.util.*;

class Node{
int data;
boolean status;

public Node(){
status = false;
}
}

public class QuickSort {
static int bintang;
public static void main(String[] args){
Scanner input = new Scanner (System.in);

Node[] angka;
System.out.println(“Masukkan bilangan (dipisah spasi) :”);
String bil = input.nextLine();
String[] in = bil.split(” “);

angka = new Node[in.length];
for(int i=0;i<in.length;i++){
angka[i] = new Node();
angka[i].data = Integer.parseInt(in[i]);
}

quickSort(angka);
System.out.println(“Hasil sorting :”);
cetak(angka);
}

static void cetak(Node[] angka){

for(int i=0;i<angka.length;i++){
if(i==bintang)
System.out.print(“*   “);
else  System.out.print(angka[i].data+”   “);
}
System.out.println();
}

static void quickSort (Node[] angka){
int pivot,pivotIndex,pointer;

if(angka.length>=1){

pivotIndex = 0;
pointer = angka.length;
boolean kanan = true;

while(pivotIndex<angka.length-1){
pivot = angka[pivotIndex].data;
pointer–;
while(pointer!=pivotIndex){
if(kanan){
if(angka[pointer].data<pivot){
angka[pivotIndex].data = angka[pointer].data;
int temp = pivotIndex;
pivotIndex = pointer;
pointer = temp+1;
kanan = false;
}
else  pointer–;
}
else{
if(angka[pointer].data>pivot){
angka[pivotIndex].data = angka[pointer].data;
int temp = pivotIndex;
pivotIndex = pointer;
pointer = temp-1;
kanan = true;
}
else  pointer++;
}
bintang = pivotIndex;
System.out.println(“Pivot = “+pivot);
cetak(angka);
System.out.println();
}
angka[pivotIndex].data = pivot;
angka[pivotIndex].status = true;

bintang = angka.length;
cetak(angka);
System.out.println();

pivotIndex = 0;
while(pivotIndex<angka.length && angka[pivotIndex].status)
pivotIndex++;
pointer = pivotIndex + 1;
while(pointer<angka.length && !angka[pointer].status)
pointer++;
kanan = true;
}
}
}
}

No Comments Yet »

Belum ada komentar.

RSS umpan untuk komentar-komentar dalam tulisan ini. URI Lacak Balik

Tinggalkan komentar

Didukung oleh WordPress.com