侧边栏壁纸
博主头像
王小木人

这是很长,很好的一生

  • 累计撰写 141 篇文章
  • 累计创建 43 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

java 快速排序

王小木人
2021-05-22 / 0 评论 / 0 点赞 / 1,092 阅读 / 1,135 字
import java.util.*;

public class test {

    public static void sort(int a[], int low, int hight) {
        int i, j, index;
        if (low > hight) {
            return;
        }
        i = low;
        j = hight;
        index = a[i]; // 用子表的第一个记录做基准
        while (i < j) { // 从表的两端交替向中间扫描
            while (i < j && a[j] >= index)
                j--;
            if (i < j)
                a[i++] = a[j];// 用比基准小的记录替换低位记录
            while (i < j && a[i] < index)
                i++;
            if (i < j) // 用比基准大的记录替换高位记录
                a[j--] = a[i];
        }
        a[i] = index;// 将基准数值替换回 a[i]
        sort(a, low, i - 1); // 对低子表进行递归排序
        sort(a, i + 1, hight); // 对高子表进行递归排序


    }


    public static void quickSort(int a[]) {
        sort(a, 0, a.length - 1);
    }


    public static void main(String[] args) {


        int a[],len;
        Scanner in=new Scanner(System.in);
       System.out.println("输入长度");
      len=in.nextInt();
     a=new int[len];
     for(int i=0;i<len;i++)
   {
       a[i]=in.nextInt();
   }
        quickSort(a);
        System.out.println(Arrays.toString(a));
    }
}
0

评论区