本文目录
- 关于Java中Array.sort()排序原理,越详细越好!
- java中.sort()是什么意思排序吗,按什么顺序排的
- java中调用sort 使学生成绩由小到大排序 代码怎么写
- Java:使用sort方法对整个数组或部分数组进行排序的问题
- JAVA中如何使用SORT从大到小排.
关于Java中Array.sort()排序原理,越详细越好!
是 Arrays.sort(a); 吧
给你看源码
=============
/* */ public static void sort(int paramArrayOfInt)/* */ {/* 96 */ sort1(paramArrayOfInt, 0, paramArrayOfInt.length);/* */ }///* */ private static void sort1(int paramArrayOfInt, int paramInt1, int paramInt2)/* */ {/* 558 */ if (paramInt2 《 7) {/* 559 */ for (i = paramInt1; i 《 paramInt2 + paramInt1; i++)/* 560 */ for (j = i; (j 》 paramInt1) && (paramArrayOfInt); j--)/* 561 */ swap(paramArrayOfInt, j, j - 1);/* 562 */ return;/* */ }/* */ /* */ /* 566 */ int i = paramInt1 + (paramInt2 》》 1);/* 567 */ if (paramInt2 》 7) {/* 568 */ j = paramInt1;/* 569 */ k = paramInt1 + paramInt2 - 1;/* 570 */ if (paramInt2 》 40) {/* 571 */ m = paramInt2 / 8;/* 572 */ j = med3(paramArrayOfInt, j, j + m, j + 2 * m);/* 573 */ i = med3(paramArrayOfInt, i - m, i, i + m);/* 574 */ k = med3(paramArrayOfInt, k - 2 * m, k - m, k);/* */ }/* 576 */ i = med3(paramArrayOfInt, j, i, k);/* */ }/* 578 */ int j = paramArrayOfInt;/* */ /* */ /* 581 */ int k = paramInt1;int m = k;int n = paramInt1 + paramInt2 - 1;int i1 = n;/* */ for (;;) {/* 583 */ if ((m 《= n) && (paramArrayOfInt 《= j)) {/* 584 */ if (paramArrayOfInt == j)/* 585 */ swap(paramArrayOfInt, k++, m);/* 586 */ m++;/* */ } else {/* 588 */ while ((n 》= m) && (paramArrayOfInt 》= j)) {/* 589 */ if (paramArrayOfInt == j)/* 590 */ swap(paramArrayOfInt, n, i1--);/* 591 */ n--;/* */ }/* 593 */ if (m 》 n)/* */ break;/* 595 */ swap(paramArrayOfInt, m++, n--);/* */ }/* */ }/* */ /* 599 */ int i3 = paramInt1 + paramInt2;/* 600 */ int i2 = Math.min(k - paramInt1, m - k);vecswap(paramArrayOfInt, paramInt1, m - i2, i2);/* 601 */ i2 = Math.min(i1 - n, i3 - i1 - 1);vecswap(paramArrayOfInt, m, i3 - i2, i2);/* */ /* */ /* 604 */ if ((i2 = m - k) 》 1)/* 605 */ sort1(paramArrayOfInt, paramInt1, i2);/* 606 */ if ((i2 = i1 - n) 》 1) {/* 607 */ sort1(paramArrayOfInt, i3 - i2, i2);/* */ }/* */ }/* */ /* */ /* */ private static void swap(int paramArrayOfInt, int paramInt1, int paramInt2)/* */ {/* 614 */ int i = paramArrayOfInt;/* 615 */ paramArrayOfInt;/* 616 */ paramArrayOfInt = i;/* */ }
java中.sort()是什么意思排序吗,按什么顺序排的
是的 默认是按字典升序排序简单的说很像新华字典 里面的排序a》b》c....abc》acb..bag 》bga...这里的大于号 意思是排在前面希望对你有帮助
java中调用sort 使学生成绩由小到大排序 代码怎么写
根据你这要求,只有一个办法,但是有点约束:import java.util.Arrays;import java.util.Collections;public class Test { public static void main(String args) { //注意,只能用对象类型,不可以使用简单类型 如int num则报错 Integer num = {5,8,3,9,1}; //如果是num是List或 Set,则用Collections.sort(num,Collections.reverseOrder()); Arrays.sort(num,Collections.reverseOrder()); for(int i=0;i《num.length;i++){ System.out.println(num); } }}
Java:使用sort方法对整个数组或部分数组进行排序的问题
额,他只是为了让你明白sort(char,1,3)是从第1个开始,到第3个(但是不包括第3个)的字符进行排序。
JAVA中如何使用SORT从大到小排.
在排序中,最重要的是自己实现自己的比较的行数,即是implements Comparator实现方法public int compare(Object o1, Object o2) 最为重要..举个例子:package book.arrayset;import java.util.Comparator;/** * 整数比较器,将整数按降序排列 */class MyIntComparator implements Comparator{/** * o1比o2大,返回-1;o1比o2小,返回1。 */public int compare(Object o1, Object o2) {int i1 = ((Integer)o1).intValue();int i2 = ((Integer)o2).intValue();if (i1 《 i2){return 1;}if (i1 》 i2){return -1;}return 0;}}//上面的为比较的函数实现,下面真正的添加数据,//通过调用上面的比较函数实现自定义排序的功能package book.arrayset;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * 对List中的元素排序 */public class SortList { public static void output(List list){if (list == null){return;}for (int i=0; i《list.size(); i++){System.out.print(list.get(i).toString() + " ");}System.out.println();} public static void main(String args) {List list = new ArrayList();list.add(new Integer(5));list.add(new Integer(8));list.add(new Integer(1));list.add(new Integer(3));list.add(new Integer(2));list.add(new Double(3.1));System.out.println("list开始状态");SortList.output(list);//Collections.sort方法将用默认比较器排列list的元素Collections.sort(list);System.out.println("list被默认比较器排序后的状态");SortList.output(list);//下面将list的元素按降序排列Collections.sort(list, new MyIntComparator());System.out.println("list被自定义比较器排序后的状态");SortList.output(list); //因此,对于任意自定义类的对象,当保存在集合类容器中后,如果需要对它们进行排序,//需要自己提供适应于自定义类的比较器,自定义比较器必须实现Comparator接口。//然后采用Collections.sort(list, comparator);方法对容器进行排序。}}