文章詳情頁
java中關于直接插入排序遇到的問題。
瀏覽:156日期: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. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. java - instance method中 static后的<K>是什么意思?3. javascript - QWebEngineView 如何爬 angular 的動態數據?4. java - com.android.internal.R.attr.dialogTheme 這個dialogTheme的內容再哪里查看?5. java - 一段遞歸代碼的問題6. python3.x - python連oanda的模擬交易api獲取json問題第五問7. css3 - 圖片等比例縮放8. java - 關于File的問題?9. html5 - 這個代碼顯示功能如何實現?10. 錯誤:java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。<init>(I)V
排行榜
