插入排序方法相信大家都有所耳聞,這是一個相對穩定的排序算法,今天武林技術頻道小編就來給大家詳解c++插入排序吧,希望武林技術頻道的文章能幫到大家。
說一說插入排序
插入排序的基本操作就是將一個數據插入到已經排序好序的數據中,從而得到一個新的,個數加一的有序數據,算法適用與少量的數據的排序。時間復雜度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]<<" "; } }
以上就是武林技術頻道小編對詳解c++插入排序的全部介紹,詳細看完的朋友一定都有所了解,為了幫助更多朋友了解相關知識,我們還整理了更多專業知識。
新聞熱點
疑難解答
圖片精選