|
zhangruxin
級別: 正式會員
|
描述:效果圖
圖片:
100個32位整形從大到小排序,實時執(zhí)行時仿真掃描周期5.6ms(在我電腦上) 大概思路,先找到最小值,再把最大值提出來,用最小值覆蓋當前位置的最大值 冒泡排序循環(huán)的次數(shù)太多 |
|---|---|
|
附件:
FX5U 大到小排序.zip (490 K) 下載次數(shù):113
|
|
只對你有感覺
只對你有感覺
級別: 探索解密
|
好東西 |
|---|---|
|
|
zmrs163
級別: 家園常客
|
其實沒必要提取最小值覆蓋最大值,直接用雙字最小值覆蓋即可,如果數(shù)據(jù)范圍不能確定,只要取最小值判斷下,只要大于雙字最小值后面就不用判斷了。話說為啥不用自帶的排序指令呢,速度不是更快 |
|---|---|
|
|
|
zhangruxin
級別: 正式會員
|
沒明白你說的“只要取最小值判斷下,只要大于雙字最小值后面就不用判斷了”是什么意思,SORTTBL指令?只能排32個
|
|---|---|
|
|
|
zmrs163
級別: 家園常客
|
沒必要每次都取最小值覆蓋,取一次就行。那個指令我看了下確實只能排32個,要是我寫我就用四次然后歸并排序
|
|---|---|
|
|
|
sjbandmm
級別: 略有小成
|
圖片:
我這個更簡單一點,從大到小排列,先找到第一個最大數(shù),放到D500,將第一個數(shù)據(jù)寫0,再找第二個最大的數(shù)字,放到D502,再將這個數(shù)字清零,直到檢測的最大數(shù)據(jù)為0,退出循環(huán),我這個模擬周期,只有幾個數(shù)的時候是1.6ms左右,最多的數(shù)據(jù)是2.6ms,比你那個時間要短的多。 |
|---|---|
|
附件:
降序排序程序.zip (448 K) 下載次數(shù):37
|