【GIF动画+完整可运行源代码】C++实现 插入排序——十大经典排序算法之三
生活随笔
收集整理的這篇文章主要介紹了
【GIF动画+完整可运行源代码】C++实现 插入排序——十大经典排序算法之三
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
十大經典排序算法系列博客——>傳送門
插入排序的工作原理是通過構建有序序列,對于未排序數據,在已排序序列中從后向前掃描,找到相應位置并插入。
算法步驟:
-
從第一個元素開始,該元素認為已經被排序;
-
取下一個元素,在已經排序的元素序列中從后向前掃描;
-
如果已排序元素大于新元素,將已排序元素移到下一位置;
-
重復步驟3,直到找到已排序的元素小于或者等于新元素的位置;
-
將新元素插入到該位置后;
-
重復步驟2~5。
代碼展示
#include <iostream>using namespace std; 寫法1 void insertSort_0(int arr[], int length) {int i, j, key;for (i = 1; i < length; i++){key = arr[i];for (j = i - 1; j >= 0; j--){if (arr[j] > key) {arr[j + 1] = arr[j];}elsebreak;}arr[j + 1] = key;} } 寫法2 void insertSort_1(int arr[], int length) {int j, key;for (int i = 1; i < length; i++){key = arr[i];j = i - 1;while (j >= 0 && arr[j] > key){arr[j + 1] = arr[j];j--;}arr[j + 1] = key;} }int main() {int iArr[] = { 7, 8, 9, 5, 2, 0, 12, 6 };int len = sizeof iArr / sizeof(iArr[0]);cout << "排序前:";for (int i = 0; i < len; i++) {cout << iArr[i] << " ";}cout << "\n排序后:";insertSort_0(iArr, len);for (int j = 0; j < len; j++) {cout << iArr[j] << " ";}cout << endl;system("pause");return 0; }日拱一卒,功不唐捐。
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的【GIF动画+完整可运行源代码】C++实现 插入排序——十大经典排序算法之三的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【GIF动画+完整可运行源代码】C++实
- 下一篇: 【GIF动画+完整可运行源代码】C++实