日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA排序算法之插入排序

發布時間:2024/9/30 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA排序算法之插入排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本介紹:

插入式排序屬于內部排序法,是對于欲排序的元素以插入的方式找尋該元素的適當位置,以達到排序的目的。

插入排序法思想:

插入排序(Insertion Sorting)的基本思想是:把 n 個待排序的元素看成為一個有序表和一個無序表,開始時有 序表中只包含一個元素,無序表中包含有 n-1 個元素,排序過程中每次從無序表中取出第一個元素,把它的排 序碼依次與有序表元素的排序碼進行比較,將它插入到有序表中的適當位置,使之成為新的有序表。

插入排序思路圖:

代碼實例

public static void insertSort(int[] arr) {int insertVal = 0;int insertIndex = 0;//使用for循環來把代碼簡化for(int i = 1; i < arr.length; i++) {//定義待插入的數insertVal = arr[i];insertIndex = i - 1; // 即arr[1]的前面這個數的下標// 給insertVal 找到插入的位置// 說明// 1. insertIndex >= 0 保證在給insertVal 找插入位置,不越界// 2. insertVal < arr[insertIndex] 待插入的數,還沒有找到插入位置// 3. 就需要將 arr[insertIndex] 后移while (insertIndex >= 0 && insertVal < arr[insertIndex]) {arr[insertIndex + 1] = arr[insertIndex];// arr[insertIndex]insertIndex--;}// 當退出while循環時,說明插入的位置找到, insertIndex + 1// 舉例:理解不了,我們一會 debug//這里我們判斷是否需要賦值if(insertIndex + 1 != i) {arr[insertIndex + 1] = insertVal;}}}

總結

以上是生活随笔為你收集整理的JAVA排序算法之插入排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。