国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

c++插入排序詳解

2020-01-26 14:06:59
字體:
來源:轉載
供稿:網友

說一說插入排序

插入排序的基本操作就是將一個數據插入到已經排序好序的數據中,從而得到一個新的,個數加一的有序數據,算法適用與少量的數據的排序。時間復雜度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]<<" ";   }  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会泽县| 武隆县| 怀宁县| 通渭县| 炎陵县| 柯坪县| 沙田区| 商洛市| 新田县| 泗洪县| 称多县| 凉山| 洞头县| 凭祥市| 重庆市| 迁安市| 扎兰屯市| 林西县| 保德县| 宾川县| 册亨县| 安福县| 唐河县| 姜堰市| 称多县| 兴隆县| 桃源县| 日喀则市| 蛟河市| 正安县| 灌南县| 襄城县| 乐安县| 七台河市| 邓州市| 玉龙| 库伦旗| 青冈县| 孟津县| 张家口市| 余干县|