如何理解排序算法:[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臨時變量。
-
Steam錯誤代碼118最新解決方案
Steam商店錯誤代碼118怎麼解決?Steam商城進不去,提示錯誤代碼118應該怎麼解決呢?大家不用擔心,Steam錯誤代碼118是電腦自身網絡解析出現了問題,我們改下網絡設置即可解決問題。那麼,具體要怎麼操作呢?接下來小編就給大家詳細説説Steam錯誤代碼118的解決方法,趕緊GET起...
-
Thinkpadx250熱啟動及系統安裝
電腦安裝系統大家可能都不陌生了,現在重裝系統基本上都有現成的工具步驟,一步一來小白也能變大神,但是不同品牌的電腦可能進入U盤啟動工具的快捷鍵不同。今天給大家介紹下Thinkpadx250筆記本的熱啟動及系統的安裝。操作方法(01)1、不同的電腦有不同的設定,有些電腦熱...
-
Nvidia顯卡設置/Nvidia控制面板設置
下面簡單介紹一下如何進行Nvidia顯卡設置,Nvidia控制面板的設置。操作方法(01)在搜索欄中輸入【控制面板】,回車。(02)打開控制面板界面,點擊查看方式出的【倒三角】,然後選擇【小圖標】。(03)找到【NVIDIA控制面板】,並打開。(04)打開後,在左邊一框的【3D設置】下列,點擊【通...
-
將pdf轉換成word後文檔全是圖片怎麼辦
MicrosoftWord是微軟公司的一個文字處理器應用程序。它最初是由RichardBrodie為了運行DOS的IBM計算機而在1983年編寫的,很多人不知道將pdf轉換成word後文檔全是圖片怎麼辦,下面讓我們一起來學習一下吧操作方法(01)首先打開捷速OCR文字識別軟件(02)將PDF放入捷速OCR文...