如何理解排序演算法:[1]直接插入排序法
直接插入排序演算法是排序演算法中最簡單的,但在尋找插入位置時的效率不高。基本思想就是將一個待排序的數字在已經排序的序列中尋找找到一個插入位置進行插入。直接插入排序的演算法重點在於尋找插入位置。
操作方法
(01)設定待排序的資料儲存在陣列data[]中
(02)設定外層迴圈,即從第二個資料到最後一個數據。(只有一個數據則為考慮為已經是有序的,所以迴圈從第二個資料開始)其中n為待排序資料的長度。
(03)定義一個用來臨時儲存將要進行插入操作的元素temp。
(04)編寫內層迴圈,尋找插入位置並移動元素。
(05)將tmp插入到尋找到的位置j+1
(06)最後附上全部執行程式碼及執行截圖#include "stdafx.h"#include <iostream>using namespace std;template <class T>void outputArr(T&,int);int main(){int i, j;int data[] = { 23, 98, 7, 28, 92, 14, 89, 1 };//共8個數據int n = sizeof(data) / sizeof(data[0]);cout << "排序前的結果:n";outputArr(data, n);for ( i = 1; i < n;i++){int temp = data[i];for ( j = i - 1; j >= 0 && data[j]>temp;j--){data[j + 1] = data[j];}data[j + 1] = temp;}cout << "排序後的結果:n";outputArr(data, n);return 0;}template <class T>void outputArr(T &a,int n){for (int i = 0; i < n;i++){cout << a[i] << " ";}cout << endl;}
(07)可以通過引入哨兵來將演算法改進,避免了邊界檢查。即將陣列的第一個位置替換上面的temp臨時變數。
-
怎麼樣校驗Win10 ISO的SHA1 如何驗證MD5值
如果你想了解自己下載的Windows10ISO檔案是否為原版,這時該怎麼樣操作呢?我們可以通過驗證ISO檔案的SHA1與MD5值,下面就來看看如何驗證SHA1與MD5的方法吧。操作方法(01)首先我們在下載Windows10ISO檔案的頁面,可以看到MD5與SHA1的數值,把這些數值複製儲存起來。(02)接下...
-
如何使用PPT輸入化學式
今天我給大家尤其式學生們介紹一個怎麼使用PPT輸入化學式的傳統方法,希望能幫到你們,一起來看看吧!操作方法(01)首先你需要做的就是開啟一個新建的文字,在上方的選單欄裡面選擇插入選項卡,看到右邊選擇繪製橫排文字框。(02)線使用滑鼠選中文字框,右鍵單擊滑鼠,選擇跳出選...
-
QQ通訊錄怎麼新增聯絡人?
QQ通訊錄怎麼新增聯絡人?操作方法(01)我們首先登入自己的QQ號。(02)然後點選軟體右下角的應用管理器按鈕,如圖:(03)點選通訊錄按鈕,如圖:(04)在通訊錄中點選新增按鈕,如圖所示:(05)輸入聯絡人的姓名等資訊後點擊確定按鈕,如圖所示:...
-
如何將CorelDraw檔案轉為jpg圖片
CorelDraw儲存的原始檔是CDR格式,將檔案轉為jpg格式的圖片。操作方法(01)準備好CorelDraw檔案(02)然後開啟CorelDraw軟體進入介面,選擇選單欄中的-檔案-開啟,(03)找到準備好的cdr檔案,將檔案置入到文件中(04)當匯出時,點選選單欄中的-檔案-匯出(05)在儲存型別中找到jpg格式,點...