黑马程序员技术交流社区

标题: 排序的不解 [打印本页]

作者: 李龙    时间: 2011-8-1 12:52
标题: 排序的不解
可能有一些是习惯问题,我们排序的时候总是喜欢用插入排序、冒泡排序、选择排序等各种算法。Arrays.sort()也可以排序,为什么我很少看到有人用
  1. Arrays.sort(int[] a);
复制代码
给数组做排序的呢?
作者: 匿名    时间: 2011-8-1 13:26
标题: 回复 楼主 的帖子
想了解Arrays的sort()方法,可以看下它的源码,看它到底是怎么实现的喔!
作者: 匿名    时间: 2011-8-1 13:26
Arrays的排序方法只针对原声数据类型。没有对应用类型的排序。就是说没办法对对象数组排序。
作者: 匿名    时间: 2011-8-1 16:26
标题: 回复 藤椅 的帖子
什么意思?可以Arrays.sort(Object[] a)呀;用这个不是很方便吗?
作者: 匿名    时间: 2011-8-1 21:05
Arrays.sort(Object[] a) 一般不能达到程序员需求的对象排序结果,如果对对象数组做出有需求的排序 那么需要使用sort(T[] a, Comparator<? super T> c)  既定义一个 Comparator比较器   根据程序员自己实现的比较器算法来比较对象,达到真正需要的结果
作者: 沈雷    时间: 2011-8-4 14:04
Sort函数给ArrayList数组排序,在使用ArrayList之前,务必要引用Collections命名空间

[code=java]using System.Collections;
static void Main()
{

ArrayList arrList = new ArrayList();//定义一个数组列表,并添加元素

arrList.Add(7);
arrList.Add(1);
arrList.Add(5);
arrList.Add(0);

Console.WriteLine("\n排序前的数组:");//用于换行

foreach (int i in arrList)   //打印排序前的数组
    Console.Write(i.ToString() + " ");

arrList.Sort();//对数组进行排序,默认从小到大

Console.WriteLine("\n排序后的数组:");//用于换行

foreach (int i in arrList)   //打印排序前的数组
    Console.Write(i.ToString() + " ");

//以上是给数组从小到厅排序,如果要从大到小呢?

arrList.Reverse();//可以用用Reversr()这个方法给将上面的从小到大翻转过来

Console.WriteLine("\n翻转后的数组:");//用于换行
foreach (int i in arrList)   //打印排序前的数组
    Console.Write(i.ToString() + " ");

}[/code]
[ 本帖最后由 沈雷 于 2011-08-04  14:49 编辑 ]




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2