字符串數組排序的快速排序實現

package com.cn.gao;
//字符串數組排序的快速排序實現
public class CharQuickSort {

//快速排序的一次劃分 public static int charPartition(String a[], int left, int right){ int l,r; String temp; l=left; r=right; temp=a[l]; //首元素做爲分界值 while(l<r){ while(a[r].compareTo(temp)>0&&l<r){ r--; } if(l<r){ a[l]=a[r]; l++; } while(a[l].compareTo(temp)<0&&l<r){ l++; } if(l<r){ a[r]=a[l]; r--; } } a[l]=temp; return l; } //字符串數組排序的快速排序算法 public static void charQuickSort(String a[], int left, int right){ int p; if(left<right){ p = charPartition(a,left,right); charQuickSort(a,left,p-1); charQuickSort(a,p+1,right); } } public static void main(String[] args) { //聲明數組並初始化 String[] a = new String[]{"One","World","Dream","Beijing","Olympic"}; //輸出排序前的數組 System.out.println("排序前的數組爲:"); for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } System.out.println(); //對數組排序 charQuickSort(a,0,a.length-1); //輸出排序後的數組 System.out.println("排序後的數組爲:"); for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } System.out.println(); } }
相關文章
相關標籤/搜索