參考書籍:《演算法導論》第二版
演算法基礎 —— 插入排序演算法
《演算法導論》第二版書中一來就提到了插入排序演算法,以撲克牌摸牌來作為比喻,剛開始按照偽**編寫時,
容易忽略乙個問題,即用臨時變數來實現陣列中資料的交換問題。由於該演算法確實是演算法中最容易理解與掌
握的,所以不作過多解釋,以下是**
#include #include #include using namespace std;
int main(int argc, char *argv)
; // 測試陣列
int key = 0; // 關鍵值
int temp = 0; // 臨時變數
// 時間複雜度:n^2
for(int j = 1; j < 6; j++ )}}
// 輸出排序後陣列
for( int i = 0; i < 6; i++ )
cout << array_test[i] << " ";
cout << endl;
::system("pause");
return 0;
}
基礎演算法 插入排序
使用插入排序的演算法有直接插入排序和希爾排序。條件 序列a1 a2 an,分別取和為已排序列 從小到大的順序 和待排序列。第一步 取待排序列a2與已排序列中的a1比較 若a1 a2則a2新增到已排序列的末尾即已排序列為 若a1 a2則a2新增到已排序列的首位即已排序列為 那麼未排序列為。第二步 取待...
基礎演算法 插入排序
今天開始學習演算法,按自己能理解的方式寫了插入排序演算法以便後記.package sortinsert public class sortinsert sort sortdata system.out.println sortdata static int i,j,tmp public static...
基礎排序演算法 插入排序
插入排序,就是如果有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜...