zhangruxin
級別: 正式會員
![]() |
描述:效果圖
圖片: ![]() 100個32位整形從大到小排序,實時執(zhí)行時仿真掃描周期5.6ms(在我電腦上) 大概思路,先找到最小值,再把最大值提出來,用最小值覆蓋當(dāng)前位置的最大值 冒泡排序循環(huán)的次數(shù)太多 |
---|---|
附件:
![]() |
往事如風(fēng)
科技改變制造
級別: 網(wǎng)絡(luò)英雄
![]() ![]() |
學(xué)習(xí)學(xué)習(xí) |
|
---|---|---|
|
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,比你那個時間要短的多。 |
---|---|
附件:
![]() |