J2ME裡排序演算法探究
排序演算法似乎是個老生常談的問題,但是如果真讓你在紙上寫出來的話,恐怕總是錯誤不斷。當然,我也一樣。總覺得它似乎很簡單,而不願意去深究它。到用的時候總是錯誤百出。
那麼今天就徹底解決這個問題。
下面是我剛寫的一個演算法,總的思想就是冒泡。
在迴圈中讓每個元素和剩餘的元素做比較,然後讓值比較小的冒到最上方。
下面是具體程式:
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
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=744333
相關文章
- 在你的JDeveloper裡擴充套件J2ME (轉)Developer套件
- 【JAVA演算法】排序演算法 -- 快速排序Java演算法排序
- 排序演算法__桶排序排序演算法
- 排序演算法__快速排序排序演算法
- 排序演算法__希爾排序排序演算法
- 排序演算法__堆排序排序演算法
- 排序演算法:快速排序排序演算法
- 【排序演算法】- 希爾排序排序演算法
- 排序演算法-堆排序排序演算法
- 排序演算法-快速排序排序演算法
- 排序演算法 - 堆排序排序演算法
- 排序演算法——快速排序排序演算法
- 排序演算法 - 快速排序排序演算法
- 霧裡看花,探究LINUX版本(轉)Linux
- 請教:在J2ME裡state模式的問題模式
- #排序演算法#【6】排序演算法總結排序演算法
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- 排序演算法之 '快速排序'排序演算法
- 排序演算法–氣泡排序排序演算法
- 排序演算法__氣泡排序排序演算法
- 排序演算法__選擇排序排序演算法
- 排序演算法__歸併排序排序演算法
- 排序演算法__計數排序排序演算法
- 排序演算法__基數排序排序演算法
- 排序演算法:選擇排序排序演算法
- 排序演算法之——桶排序排序演算法
- 排序演算法--氣泡排序排序演算法
- 排序演算法:歸併排序排序演算法
- 歸併排序--排序演算法排序演算法
- 排序演算法之希爾排序排序演算法
- 排序演算法 - 歸併排序排序演算法
- 排序演算法-氣泡排序排序演算法
- #排序演算法#【3】堆排序排序演算法
- #排序演算法#【4】快速排序排序演算法
- 《排序演算法》——快速排序(Java)排序演算法Java
- 排序演算法——插入排序排序演算法
- 排序演算法——氣泡排序排序演算法
- 排序演算法——歸併排序排序演算法