黑马程序员技术交流社区

标题: 快排序 [打印本页]

作者: 李见黎    时间: 2012-3-27 21:57
标题: 快排序
刚才化了几分钟搞定的一个快排序

/**
* 快速排序法
* @author 李见黎
*2012-3-27
*/
class QuickSort
{
        public void QuickSortFun(int []arr)
        {
                QSort(arr, 0, arr.length-1);
        }
        /**
         * 递归实现快排序
         * @param 待排序数组
         * @param 低位置
         * @param 高位置
         */
        public void QSort(int []arr,int low,int high)
        {
                if(low<high)
                {
                        int tempt=Partition(arr, low, high);
                        QSort(arr, low, tempt-1);
                        QSort(arr, tempt+1, high);
                }
        }
        /**
         * 划分
         * @return  一次划分完之后所得到的标识的位置
         */
        public int Partition(int arr[],int low,int high)
        {
       
                int temp=arr[(low+high)/2];
                while(low<high)
                {
                        while(low<high&&arr[high]>=temp)
                                --high;
                                arr[low]=arr[high];
                        while(low<high&&arr[low]<=temp)
                                ++low;
                                arr[high]=arr[low];
                }
                arr[(low+high)/2]=temp;
                return low;
        }
       
}
作者: 抓哇    时间: 2012-3-28 10:36
本帖最后由 抓哇 于 2012-3-28 10:41 编辑

关于排序算法头都晕了  基本排序有选择 冒泡 插入
高级排序有归并排序  希尔排序 快速排序 基数排序。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2