public class Sort {
/**
*
* 功能:快速排序
* 作者:徐俊伟
* 时间:2012-11-19下午07:47:04
* @param a要排序的数组
* @param front头
* @param rear尾
* 返回值类型:void
*/
public static void quickSort(int []a ,int front,int rear){
if(front<rear){
int p=front;
int q=rear;
int temp=a[front];
while(p<q){
while(a[q]>=temp&&p<q){
q--;
}
a[p]=a[q];
while(a[p]<=temp&&p<q){
p++;
}
a[q]=a[p];
}
a[p]=temp;
quickSort(a,front,p-1);
quickSort(a,p+1,rear);
}
}
/**
*
* 功能:冒泡排序
* 作者:徐俊伟
* 时间:2012-11-19下午07:54:03
* @param a要排序的数组
* 返回值类型:void
*/
public static void bubbleSort(int []a){
int temp;
int i,j;
for(i=0;i<a.length;i++){
for(j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
/**
*
* 功能:选择排序
* 作者:徐俊伟
* 时间:2012-11-19下午08:11:42
* @param a
* 返回值类型:void
*/
public static void selectionSort(int []a){
int pos,temp;
int i,j;
for(i=0;i<a.length;i++){
pos=0;
for(j=0;j<a.length-i;j++){
if(a[pos]<a[j]){
pos=j;
}
}
temp=a[pos];
a[pos]=a[--j];
a[j]=temp;
}
}
/**
* 功能:
* 作者:徐俊伟
* 时间:2012-11-19下午02:21:11
* @param args
* 返回值类型:void
*/
public static void main(String[] args) {
int []data={9,2,4,5,1,3,6,7,2,4,4,5};
int []a=new int[12];
a=data;
System.out.println("快速排序后的结果:");
quickSort(a,0,a.length-1);
printArray(a);
a=data;
System.out.println("冒泡排序后的结果:");
bubbleSort(a);
printArray(a);
a=data;
System.out.println("选择排序后的结果:");
selectionSort(a);
printArray(a);
}
public static void printArray(int a[]){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
}
常见排序
最新推荐文章于 2024-09-24 08:04:42 发布