快速排序算法

快速排序算法
 package work3;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class work3 {
    public static int[] list = new int[200000]; 
    static Random rand = new Random();
public static void main(String[] args)
{
List listx = new ArrayList();
int i = 0;
for( i = 0;i<200000;i++)
{
list[i] = rand.nextInt() ;
System.out.println(""+list[i]);
listx.add(""+list[i]);
}
//quickSort(list,0,list.length-1);
 Collections.sort(listx); 
for(int i1 = 0;i1<200000;i1++)
{
//System.out.println(""+list[i1]);
System.out.println(""+listx);
}
}
public static void quickSort(int[] list, int low, int high) { 
    int lo = low; 
    int hi = high; 
    if (lo >= hi) 
      return; 
    boolean flag=true; 
    while (lo != hi) { 
      if (list[lo] > list[hi]) { 
        //交换数字 
        int temp = list[lo]; 
        list[lo] = list[hi]; 
        list[hi] = temp; 
        //决定下标移动,还是上标移动 
        flag = (flag == true) ? false : true; 
      } 
      //将指针向前或者向后移动 
      if(flag) 
        hi--; 
      else 
        lo++; 
    }
    //将数组分开两半,确定每个数字的正确位置 
    lo--; 
    hi++; 
    quickSort(list, low, lo); 
    quickSort(list, hi, high); 
}

你可能感兴趣的:(快速排序算法)