J2ME里排序算法探究

原创 2006年05月18日 17:06:00

         排序算法似乎是个老生常谈的问题,但是如果真让你在纸上写出来的话,恐怕总是错误不断。当然,我也一样。总觉得它似乎很简单,而不愿意去深究它。到用的时候总是错误百出。

       那么今天就彻底解决这个问题。

     下面是我刚写的一个算法,总的思想就是冒泡。

     在循环中让每个元素和剩余的元素做比较,然后让值比较小的冒到最上方。

     下面是具体程序:

import java.util.Random;

class ArraySequence
{
 public static void main(String[] args)
 {
        int[] arrayL = new int[100000];
       Random rd = new Random();
      for(int i = 0;i < arrayL.length;i++)
      {
             arrayL[i] = Math.abs(rd.nextInt());
      }
      ArraySequence se = new ArraySequence();
     long starttime = System.currentTimeMillis();
     se.Sequence(arrayL);
     long endtime = System.currentTimeMillis();
    System.out.println((endtime-starttime));
//  StringBuffer sb = new StringBuffer();
//  for(int i = 0;i < arrayL.length;i++)
//      sb.append(arrayL[i]+"*");
//      System.out.println(sb.toString());
//      System.out.println(Runtime.getRuntime().totalMemory());
 }
 
 public void Sequence(int[] arraylist)
 {
   int len = arraylist.length;
  for(int i=0;i < arraylist.length;i++)
  {
   for(int j=i+1;j < len;j++)
   {
    if(arraylist[j] < arraylist[i])
    {
     int temp = 0;
     temp = arraylist[j];
     arraylist[j] = arraylist[i];
     arraylist[i] = temp;
    }
   }
  }
 }
}

 

 

           这是个测试的程序,主要的算法在方法Sequence()中,可以直接调用这个方法把数组传递进去即可。

          在我的测试过程中,排序10000个元素大概用时500~550ms,也就是0.5S左右。

          排序100000个元素大概用时60000左右,也就是1分钟左右。

          速度方面还算可以吧。

          也暂时想不出来什么更好的优化算法。

         这个速度在J2ME游戏里应该是比较快了。

         希望大家多讨论,排序算法也是J2ME游戏里用的最多的一个算法。

 

 

      author:Sun Dongfeng

排序算法2.doc

  • 2010年11月01日 23:00
  • 63KB
  • 下载

排序算法2 C++实现

  • 2013年09月08日 18:03
  • 156KB
  • 下载

java系列之J2ME的移动支付系统的设计与实现

移动支付是移动电子商务中的最重要的部分之一。安全性、私密性、易用性是移动支付的最重要的几个问题。目前有许多不同种类的技术能够实现移动支付,其中J2ME凭借其多种显著的优势成为了佼佼者。移动支...
  • qqxinxi
  • qqxinxi
  • 2011年02月20日 09:46
  • 665

数据结构排序算法2

  • 2011年12月11日 23:26
  • 2KB
  • 下载

j2me算法

  • 2015年10月17日 11:32
  • 11KB
  • 下载

原创开源javascript解释器 RockScript,可以在J2ME手机上流畅运行!

源代码和测试程序在这里:http://code.google.com/p/javascript4me/ 已在Nokia低端S40手机中测试过。 测试程序是一个标准J2ME应用,打开程序后即可从ja...

A算法使用j2me实现

  • 2010年03月06日 14:41
  • 8KB
  • 下载

j2me--手机游戏寻经算法

  • 2011年08月12日 23:41
  • 621KB
  • 下载

别了j2me-->系统原理之低级api 与低级事件

众所周知不同的手机机型不同的品牌对于的硬件能力是不同的,这里给出如何在Kjava中判断你的机型到底支持些什么能力。然后具体讨论一下底层的三种事件, 即:①:屏幕事件 ,②: 按键事件  , ③:绘图...
  • pdw_jsp
  • pdw_jsp
  • 2011年09月02日 17:21
  • 992
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:J2ME里排序算法探究
举报原因:
原因补充:

(最多只允许输入30个字)