黑马程序员技术交流社区
标题:
怎么实现对数组的快速排序?看了一些资料,没看明白
[打印本页]
作者:
youtianlong123
时间:
2014-11-13 17:24
标题:
怎么实现对数组的快速排序?看了一些资料,没看明白
怎么实现对数组的快速排序?看了一些资料,没看明白
作者:
冥夜
时间:
2014-11-13 17:48
用工具类Arrays。假设已有一个数组int[] a=new int[1,5,4,6];
用Arrays.rsort(a);就是对该数组进行升序排序
作者:
计算机小菜鸟
时间:
2014-11-13 20:09
楼上正解!!
作者:
qq272936993
时间:
2014-11-13 20:25
嗯...上面的可以,但是也可以自己写..
实际上的意思是,
定义了一个中间变量,保存了一个数据后,然后赋值.
int temp = a;
a= b;
b= temp;
作者:
焦旭宁1
时间:
2014-11-13 21:06
用Arrays类里面的sort()方法,这个针对数组排序的!!!!
作者:
郑飞
时间:
2014-11-14 09:16
楼主说的是快速排序算法吧 找个快排的demo 然后用打印语句看他怎么排的 或者自己画图推
作者:
cbb
时间:
2014-11-14 10:12
array.sort()………
作者:
高昌德
时间:
2014-11-14 10:27
工具类,才是王道
作者:
郑飞
时间:
2014-11-14 19:11
给你代码吧,平时敲的,你看下这个会不会好理解点,反正我刚开始是自己推了几次才明白的;
public static int[] quick(int[] arr,int min,int max)
{
int min0=min;
int max0=max;
if(min<max)
{
int temp = arr[min];
while(min<max)
{
while(min<max&&arr[max]>=temp)
max--;
arr[min] = arr[max];
while(min<max&&arr[min]<=temp)
min++;
arr[max] = arr[min];
}
arr[min] = temp;
quick(arr,min0,min-1);
quick(arr,min+1,max0);
}
return arr;
}
复制代码
作者:
郑飞
时间:
2014-11-14 19:16
郑飞 发表于 2014-11-14 19:11
给你代码吧,平时敲的,你看下这个会不会好理解点,反正我刚开始是自己推了几次才明白的;
...
用了递归,尽量少变量少返回值,我为了方便打印,加了返回值,你自己改下就好;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2