首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Java 快速排序算法 演练

2012-10-15 
Java 快速排序算法 演示Blog is from this site:http://baike.baidu.com/view/19016.htm?frala0_1?正文:?

Java 快速排序算法 演示

Blog is from this site:http://baike.baidu.com/view/19016.htm?fr=ala0_1

?

正文:

?

package com.morningstar.quicksort;import java.util.Random;public class QuickSort {public static void main(String args[]){Random random=new Random();int[] pData=new int[10];for(int i=0;i<pData.length;i++){ //随机生成10个排序数Integer a =random.nextInt(100);pData[i]= a;System.out.print(pData[i]+" ");}System.out.println("\n");int left=0;int right=pData.length-1;Sort(pData,left,right);for(int i=0;i<pData.length;i++){System.out.print(pData[i]+" ");}System.out.println(); }public static int[] Sort(int[] pData, int left, int right){int middle,strTemp;    int i = left;    int j = right;    middle = pData[(left+right)/2];    do    {    while((pData[i]<middle) && (i<right))    i++;    while((pData[j]>middle) && (j>left))    j--;    if(i<=j)    {    strTemp = pData[i];    pData[i] = pData[j];    pData[j] = strTemp;    i++;    j--;    }    for(int k=0;k<pData.length;k++)    {    System.out.print(pData[k]+" ");    }    System.out.println();    }while(i<j);//如果两边扫描的下标交错,完成一次排序    if(left<j)    Sort(pData,left,j); //递归调用    if(right>i)    Sort(pData,i,right); //递归调用    return pData;} }
?

?上次华仔做毕业设计的时候,用到了排序,而这次项目中要做内存排序,看来排序在实际项目中还是比较重要的。

热点排行