黑马程序员技术交流社区
标题:
关于数组排序问题的延伸
[打印本页]
作者:
lucy198921
时间:
2013-3-22 21:14
标题:
关于数组排序问题的延伸
本帖最后由 lucy198921 于 2013-3-23 19:05 编辑
下面这个是无序的由小到大的排列, 如果排列是从大到小的降序排列需要哪些地方做更改呢?
class ArrayDemo4
{
public static void selectSort(int [] arr)
{
for (int x= 0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if (arr [x] > arr[y] )
{
int temp= arr [x] ;
arr [x] =arr [y] ;
arr [y] = temp ;
}
}
}
}
public static void main (String [ ] args)
{
int [ ] arr={4,1,6,6,8,5,3,2};
printArr(arr);
selectSort(arr);
printArr(arr);
}
public static void printArr(int [ ] arr)
{
System.out.print("[ ");
for (int x=0;x<arr.length;x++) //0 1 2 3 length=4
{
if (x==arr.length-1 ) //4-1=3
System.out.print(arr[x]);
else
System.out.print(arr[x]+", ");
}
System.out.println(" ]");
}
}
作者:
徐鸿燕
时间:
2013-3-22 21:24
这个还是自己思考来的好,既然升序会了,降序的话相反一下就出来了。
实践来的最重要,也许你过几分钟你就想出来了,加油{:soso_e179:}
作者:
葛伟
时间:
2013-3-22 21:33
if (arr [x] < arr[y] )-----------------------------只需要改成小于一切OK了
{
int temp= arr [x] ;
arr [x] =arr [y] ;
arr [y] = temp ;
作者:
张文星
时间:
2013-3-22 21:48
把大于换成小于就好了~~~
作者:
lucy198921
时间:
2013-3-22 21:55
import java.util.*;
class ArryDemo2
{
public static void main(String[] args)
{
int [] arr ={32,31,5,1,99,34,2};
Arrays.sort(arr ); //开发
printArr(arr);
}
public static void printArr(int[] arr)
{
System.out.print("[");
//for (int x=arr.length-1;x>=0 ;x-- ) //0 1 2 3 length=4
{
//当循环量x到达数组最大索引,不打印逗号
if(x==0 ) //4-1=3
System.out.print(arr [x]);
else
System.out.print(arr[x]+", ");
}
System.out.println("]");
}
}
我测试通过了冒泡排序的降序排列.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2