快速排序:
package org.rut.util.algorithm.support;
import org.rut.util.algorithm.SortUtil;
public class QuickSort implements SortUtil.Sort{
public void sort(int[] data) {
quickSort(data,0,data.length-1);
}
private void quickSort(int[] data,int i,int j){
int pivotIndex=(i+j)/2;
SortUtil.swap(data,pivotIndex,j);
int k=partition(data,i-1,j,data[j]);
SortUtil.swap(data,k,j);
if((k-i)>1) quickSort(data,i,k-1);
if((j-k)>1) quickSort(data,k+1,j);
}
private int partition(int[] data, int l, int r,int pivot) {
do{
while(data[++l]<pivot);
while((r!=0)&&data[--r]>pivot);
SortUtil.swap(data,l,r);
}
while(l<r);
SortUtil.swap(data,l,r);
return l;
}
}
冒泡排序:
public class BubbleSort {
public static void sortiere(int[] x) {
boolean unsortiert=true;
int temp;
while (unsortiert){
unsortiert = false;
for (int i=0; i < x.length-1; i++)
if (x[i] > x[i+1]) {
temp = x[i];
x[i] = x[i+1];
x[i+1] = temp;
unsortiert = true;
}
}
}
public static void main(String[] args) {
int[] liste = {0,9,4,6,2,8,5,1,7,3};
sortiere(liste);
for (int i=0; i<liste.length; i++)
System.out.print(liste[i]+" ");
}
}