A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.itheima;

  2. public class Test20 {

  3.         public static void main(String[] args) {

  4.                 QuickSort qs=new QuickSort();
  5.                 int arr1[]={44,22,2,32,54,22,88,77,99,11};
  6.                 qs.arr1=arr1;
  7.                 qs.sort(0,qs.arr1.length-1);
  8.                 qs.printArray();
  9.         }

  10. }
  11. class QuickSort(){
  12.         public int arr1[];
  13.         private int partition(int[] arr,int low,int high){
  14.                 int key=arr[low];
  15.                 while(low<high){
  16.                         while(low<high && arr[high]>=key)
  17.                                 high--;
  18.                                 arr[low]=arr[high];
  19.                         while(low<high && arr[low]<=key)
  20.                                 low++;
  21.                                 arr[high]=arr[low];
  22.                 }
  23.                 arr[low]=key;
  24.                 return low;       
  25.         }

  26.         public void sort(int low,int high){
  27.                 if(lwo<high){
  28.                         int result=partition(arr1,low,high)
  29.                         sort(low,result-1);
  30.                         sort(result+1,high);
  31.                 }
  32.         public void printArray(){
  33.                 for(int i=0;i<=arr1.length-1;i++)
  34.                         System.out.print(arr[i]+' ');
  35.         }

  36. }
复制代码

QQ截图20131119183209.png (22.88 KB, 下载次数: 11)

QQ截图20131119183209.png

评分

参与人数 1技术分 +1 收起 理由
To + 1

查看全部评分

1 个回复

正序浏览
搞了半天是个排序的方法,我帮你修改了下,都是基本的语法错误,代码如下:


  1. public class Test20 {

  2.         public static void main(String[] args) {

  3.                 QuickSort qs=new QuickSort();
  4.                 int arr1[]={44,22,2,32,54,22,88,77,99,11};
  5.                 qs.arr1=arr1;
  6.                 qs.sort(0,qs.arr1.length-1);
  7.                 qs.printArray();
  8.         }

  9. }
  10. class QuickSort{
  11.         public int arr1[];
  12.         private int partition(int[] arr,int low,int high){
  13.                 int key=arr[low];
  14.                 while(low<high){
  15.                         while(low<high && arr[high]>=key)
  16.                                 high--;
  17.                                 arr[low]=arr[high];
  18.                         while(low<high && arr[low]<=key)
  19.                                 low++;
  20.                                 arr[high]=arr[low];
  21.                 }
  22.                 arr[low]=key;
  23.                 return low;        
  24.         }

  25.         public void sort(int low,int high){
  26.                 if(low<high){
  27.                         int result=partition(arr1,low,high);
  28.                         sort(low,result-1);
  29.                         sort(result+1,high);
  30.                         }
  31.                 }
  32.         public void printArray(){
  33.                 for(int i=0;i<=arr1.length-1;i++)
  34.                         System.out.print(arr1[i]+"   ");
  35.         }

  36. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
To + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马