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

相关文章
|
1月前
|
存储 Java 索引
个人笔记—Java基础—数组
该内容是关于数组的介绍。数组是一种容器,用于存储同类型的多个值。初始化有静态和动态两种方式:静态初始化是在创建时直接指定元素,有完整和简写格式;动态初始化则只指定类型和长度,不给定具体元素。访问数组元素通过索引,从0开始,修改元素是`数组名[索引] = 值`,数组长度是`数组名.length`。遍历数组通常用for循环。内存分配上,类信息和静态数据存放在方法区,栈内存负责方法执行和局部变量,堆内存用于new出的对象和数组,有默认初始值。
20 0
|
20天前
|
存储 Java 程序员
Java 数组
4月更文挑战第16天
|
2天前
|
Java 索引
Java中数组详解
Java中数组详解
43 19
|
2天前
|
Java
解析java中的数组
解析java中的数组
10 3
|
3天前
|
存储 安全 Java
Java一分钟之-数组的创建与遍历
【5月更文挑战第8天】本文介绍了Java中数组的基本概念、创建与遍历方法,强调了类型匹配和数组越界问题。示例展示了如何创建整数数组并初始化元素,同时提供了避免数组越界的策略。对于遍历,文章提到了for循环和增强型for循环,并给出了防止错误的建议,如正确声明类型、初始化数组、安全索引操作及使用合适的数据结构。遵循这些指导可帮助开发者有效管理Java数组并减少错误。
14 0
|
12天前
|
存储 Java 索引
Java数组
Java数组
23 0
|
12天前
|
存储 算法 Java
【Java探索之旅】掌握数组操作,轻松应对编程挑战
【Java探索之旅】掌握数组操作,轻松应对编程挑战
11 0
|
12天前
|
存储 Java C语言
【Java探索之旅】基本类型与引用类型 数组的应用 二维数组
【Java探索之旅】基本类型与引用类型 数组的应用 二维数组
13 0
|
12天前
|
存储 机器学习/深度学习 Java
【Java探索之旅】数组使用 初探JVM内存布局
【Java探索之旅】数组使用 初探JVM内存布局
26 0
|
12天前
|
存储 Java 编译器
【Java探索之旅】数组概念与初始化指南:动静结合
【Java探索之旅】数组概念与初始化指南:动静结合
22 0