文章詳情頁
java中關于直接插入排序遇到的問題。
瀏覽:127日期:2024-02-05 09:40:18
問題描述
在研究直接插入排序的時候,寫了個代碼,如下:
static void zjcr1(int[] a) {int i,j,temp;//由于比較的時a[j]>a[j+1],所以i的循環條件是a.length-1for(i=1;i<a.length-1;i++){for(j=0;j<i+1;j++) {if(a[j]>a[j+1]){ temp = a[j+1]; a[j+1] = a[j]; a[j] = temp;} }} }
只看邏輯的話if(a[j]>a[j+1])這個地方是不可以完成排序的,但是,實際代碼執行后,可以完成數組的排序,看了好久頁沒看明白,大家幫忙看一下。。。
問題解答
回答1:你用的測試用例不對,試試這個
new int[] {3,2,4,1,7,0,5}
結果:
[1, 2, 3, 0, 4, 5, 7]
建議還是用比較標準的排序方式
標簽:
java
相關文章:
1. javascript - js中遞歸與for循環同時發生的時候,代碼的執行順序是怎樣的?2. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發現3. python - linux怎么在每天的凌晨2點執行一次這個log.py文件4. php如何獲取訪問者路由器的mac地址5. android - 鍵盤遮擋RecyclerView6. 如何分別在Windows下用Winform項模板+C#,在MacOSX下用Cocos Application項目模板+Objective-C實現一個制作游戲的空的黑窗口?7. javascript - jQuery each 方法第三個參數args 如何解釋?8. javascript - 在 vue里面用import引入js文件,結果為undefined9. java - new + 類名,一定需要申明一個對象嗎?10. javascript - ...mapGetters和...mapState獲取到的state,怎么拿來在methods中操作?
排行榜
