码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法----快速排序java

时间:2017-03-26 16:22:41      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:时间   util   exti   static   算法   冒泡排序   main   class   system.in   

快速排序是对冒泡排序的一种改进,平均时间复杂度是O(nlogn)

import java.util.Arrays;
import java.util.Scanner;
public class test02{
    public static void main(String[] args) {
        int n = 1;
        while (n != 0){
        Scanner scanner = new Scanner(System.in);
        n = scanner.nextInt();
        int s[] = new int[n];
        for (int i = 0; i < n; i++) {
            s[i] = scanner.nextInt();
        }
        sort(s, 0, n - 1);
        System.out.println(Arrays.toString(s));
    }
    }

    public static void sort(int[] s, int low, int high){
        int left = low;
        int right = high;
        int temp;
        if(low<high){
            while(left<right){
                while(left<high&&s[left]<=s[low]){
                    left++;
                }
                while(right>low&&s[right]>s[low]){
                    right--;
                }
                if(left<right){
                    temp = s[left];
                    s[left]  = s[right];
                    s[right] = temp;
                }
            }
            temp = s[low];
            s[low] = s[right];
            s[right] = temp;
            sort(s, low, right-1);
            sort(s, right+1, high);

        }
    }
}

 


 

排序算法----快速排序java

标签:时间   util   exti   static   算法   冒泡排序   main   class   system.in   

原文地址:http://www.cnblogs.com/tk55/p/6622988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!