Java实现快速排序

来源:互联网 发布:二战德军军服 淘宝 编辑:程序博客网 时间:2024/05/29 17:44

快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分的关键字均比另一部分的关键字小,则再分别对这两部分记录继续进行排序,以达到整个序列有序

package com.bear;public class QuickSort {    private int[] list = {5,4,3,1,2,8,9,6,0,7};    public static void main(String[] args) {        System.out.println("quick sort:");        QuickSort quickSort = new QuickSort();        quickSort.visit();        quickSort.Qsort(0, quickSort.list.length-1);        quickSort.visit();    }    //change    public int Partition(int low,int height)    {        int pivotkey = list[low];        while(low<height)        {            while(low<height && list[height]>=pivotkey) height--;            list[low] = list[height];            while(low<height && list[low]<=pivotkey) low++;            list[height] = list[low];        }        list[low] = pivotkey;        System.out.print("now list = ");        visit();        return low;    }    public void Qsort(int low,int height)    {        if(low<height)        {            int pivotloc = Partition( low, height);            Qsort(low, pivotloc-1);            Qsort(pivotloc+1, height);        }    }    public void visit()    {        System.out.print("the list = ");        for (int i = 0; i < list.length; i++) {            System.out.print(list[i]+" ");        }        System.out.println();    }}
0 0
原创粉丝点击