java的重复元素排序

java的重复元素排序

问:桶排序java怎么处理重复的元素
  1. 答:桶排序的核心思想是,将[0,1)分为n个大小相同的子区间,
    * 上一个区间里的元素都比下一个区间里的元素小,然后对
    * 所有区间里的元素排序,最后顺序输出所有区间里的元素,
    * 达到对所有元素排序的目的。
    * @author yuncong
    *
    */
    public class BucketSort {
    public void sort(Double[] a) {
    int n = a.length;
    /**
    * 创建链表(桶)集合并初始化,集合中的链表用于存放相应的元素
    */
    int bucketNum = 10; // 桶数
    LinkedList<LinkedList<Double>> buckets = new LinkedList<LinkedList<Double>>();
    for(int i = 0; i < bucketNum; i++){
    LinkedList<Double> bucket = new LinkedList<Double>();
    buckets.add(bucket);
问:java排序一个数组(数组元素有重复的),并且记住新数组的元素在原数组中的位置,我需要能够运行的程序!
  1. 答:public class ArrayTest {
    public static void main(String[] args) {
    //java排序一个数组(数组元素有重复的),并且记住新数组的元素在原数组中的位置
    int[] ary = {1,2,3,4,1,2};
    int[] index = new int[ary.length];
    for (int i = 0; i < index.length; i++) {
    index[i] = i;
    }
    for (int i = 0; i < ary.length-1; i++) {
    for (int j = i+1; j < ary.length; j++) {
    if(ary[i]>ary[j]){
    int temp = ary[i];
    int p = index[i];
    ary[i] = ary[j];
    index[i] = index[j];
    ary[j] = temp;
    index[j] = p;
    }
    }
    }
    System.out.println(Arrays.toString(ary));
    System.out.println(Arrays.toString(index));
    }
    }
问:java list 相同的字段排序
  1. 答:给你个思路吧,难到不难,不过做出来,没什么效率可言。纯粹是练手罢了。首先,遍历你的集合list1,找出ID字段值相等的对象,并将相等的字段值存入一个新的集合list2中。新集合就是你要的所有名字相同的字段值。嵌套for循环,遍历list2找出list1中ID值与其值相等的所有对象并保存到新集合list3中。name字段的排序同上。说起来太麻烦了。你好好想想把。
  2. 答:其实你user写一个toString方法,把需要排序的字段都加里,直接对toString出来的字符串排序应该能达到你要的效果
  3. 答:这样怎么不行了,题目还不太明白
java的重复元素排序
下载Doc文档

猜你喜欢