您好,登錄后才能下訂單哦!
說一說插入排序
插入排序的基本操作就是將一個數據插入到已經排序好序的數據中,從而得到一個新的,個數加一的有序數據,算法適用與少量的數據的排序。時間復雜度O(n^2),是穩定的排序算法。
基本思想:每步將一個待排序的記錄,按其關鍵碼值的大小插入前面已經排序的文件的適當位置上去,直到全部插入完為止。
原理示意圖:
函數段的c++代碼實現:
全部代碼如下:
#include <iostream> using namespace std; void insert_sort(int* a,int b)//實現插入排序,引入兩個參數,a為數組首地址,b為數組元素個數 { for(int i=1;i<b;i++) { int j=i; int t=*(a+j);//標記待排序的元素 //將大于待排序元素的數整體后移,然后將t插入小于它的數的后面 while(t<*(a+j-1)&&j!=0) { *(a+j)=*(a+j-1); j--; } *(a+j)=t; } } int main() { int a[5]; for(int i=0;i<5;i++) { cin>>a[i]; } insert_sort(a,5); for(int i=0;i<5;i++) { cout<<a[i]<<" "; } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。