java 数组排序

简介:
/*   
    *@description   :   实现任意两整数数组的按从小到大重组   
    *                               先排序,再重组   
    *@Author             :   dalily   
    *@Date                 :   2004-2-22   
    */   
  public   class   ArraySortClass{   
            
  //测试方法,先排序后重组   
  public   static   void   main(String   args[]){   
                      int[]   A   ={12,8,6,15,10,17};   
                      int[]   B   ={7,11,13,2,9,3};   
    
      //对数组排序   
      int[]   A1   =   bubbleSort(A);   
      int[]   B1   =   bubbleSort(B);   
    
      //对数组重组   
      int[]   C   =   assembleArray(A,B);   
                      //输出数组   
                      for   (int   m=0;m<12;m++){   
                              System.out.println("the   C   is   :"   +   C[m]);   
                      }                   
          }   
    
  /*   
    *   实现两个有序整数数组按从小到大的顺序重组   
    *             三个过程:1.按顺序比较两个数组中数据,只到其中一个已经没有剩余数据   
    *                               2.如果比较后的A数组还有剩余,则把A数组的其余数据补充到C数组   
    *                               3.如果比较后的A数组还有剩余,则把A数组的其余数据补充到C数组   
    *   @param   A   :   the   first   Array   
    *   @param   B   :   the   second   Array   
    *   @result     :   the   assembled   Array   
    */   
  public   static   int[]   assembleArray(int[]   A,   int[]   B){   
      int   iALength   =   A.length;   
              int   iBLength   =   B.length;   
      int[]   C   =   new   int[iALength   +   iBLength];   
      int   i=0;   
      int   j=0;   
      int   k=0;   
        
      //按顺序比较两个数组中数据,只到其中一个已经没有剩余数据   
      while   (i<iALength   &&   j   <iBLength){       
    if   (A[i]   <=B[j]){   
          C[k]   =   A[i];   
                i++;   
    }   else{   
          C[k]   =   B[j];   
          j++;   
    }                             
            k++;                               
      }     
    
      //如果比较后的A数组还有剩余,则把A数组的其余数据补充到C数组   
      if   (i<iALength){   
    for   (int   m=i;m<iALength;m++){   
    C[k]   =   A[m];   
            k++;   
    }   
      }   
    
      //如果比较后的B数组还有剩余,则把B数组的其余数据补充到C数组   
      if   (j<iBLength){   
    for   (int   n=j;n<iBLength;n++   )   {   
    C[k]   =   B[n];   
            k++;   
    }   
      }   
      return   C;   
  }   
    
  /*   
    *   采用冒泡排序实现整数数组排序   
    *   @param   A   :   the   before   Array   
    *   @param   B   :   the   sorted   Array   
    */   
  public   static   int[]     bubbleSort(int   A[]){   
  int   iAlength   =   A.length;   
  int   i   =   0;   
  int   k   =   0   ;   
  int   temp   =   0;   
  while   (i   <   iAlength){   
      for   (k=i+1;k<iAlength;k++){   
    if   (A[k]<A[i]){   
    temp   =   A[i];   
    A[i]   =     A[k];   
    A[k]   =   temp;   
    }   
      }     
      i++;   
  }   
  return   A;   
  }   
  }   
----------------------------------------------------------------------------------------------------------------------
如果使用List=ArrayList,则可以使用这样的方法:
Collections.sort((List)LLID,new Comparator(){
   public int compare(Object one,Object two){
    int cc=(((class name)one).getKey().compareTo(((class name)two).getKey()));
     return (cc < 0 ? 1 : cc > 0 ? -1 : 0);
   }
  });

很方便的哦!

本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2007/07/04/805236.html如需转载请自行联系原作者


kenty

相关文章
|
16天前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
29 4
|
16天前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
16 2
|
24天前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
|
1月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
42 9
|
30天前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
18 3
|
1月前
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
22 6
|
1月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
21 1
|
1月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
13 1
|
1月前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
|
24天前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
33 0