直接插入排序演算法

2021-08-11 07:33:47 字數 439 閱讀 4582

演算法基本思想如下:

依次將未排序的數和已排序的數進行比較,將其放在已經排序好的序列中去,這種排序方法叫做直接插入排序。

具體實現如下:

package com.sort;

public class insertsort else

}num[j+1]=temp; //這裡是j+1是因為for迴圈中的j--到最後是-1. 把待插入數放在最真位置。

} for(i=0;i

效能指標:

(1)特殊情況下,若待排序的數,初始順序基本正序(或完全正序),則n個數進行n-1趟排序,每趟只比較一次,一共比較n-1次。時間複雜度為o(n)。

這是直接插入排序的最好情況

(2)一般情況的時間複雜度是o(n^2)

(3)直接插入排序是穩定型排序演算法,適用於待排序數少,且初始順序基本正序。

直接插入排序演算法

直接插入演算法 有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序演算法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複...

直接插入排序演算法

撲克牌是我們幾乎每個人都可能從事過的遊戲。而最基本的撲克玩法都是一邊摸牌,一邊理牌。假如我們拿到了這樣一手牌,如圖9 5 1。啊,似乎是同花順呀,別急,我們得理一理順序才知道是否是真的同花順。請問,如果是你,應該如何理牌呢?應該說,哪怕你是第一次玩撲克牌,只要認識這些數字,理牌的方法都是不用教的。將...

直接插入排序演算法

每次將乙個待排序的記錄按其關鍵字的大小插到前面已經排序的序列中的適當位置,直到全部記錄插入完畢為止。第一趟比較前兩個數,然後把第二個數按大小插入到有序表中 第二趟把第三個資料與前兩個數從後向前掃瞄,把第三個數按大小插入到有序表中 依次進行下去,進行了 n 1 趟掃瞄以後就完成了整個排序過程。將待插入...