插入排序代码

Posted XJX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序代码相关的知识,希望对你有一定的参考价值。

思路参考:

《算法导论》第三版P10

代码:

 1 // 171028插入排序.cpp: 定义控制台应用程序的入口点。
 2 //
 3 
 4 #include "stdafx.h"
 5 #include <iostream>
 6 #include <random>
 7 
 8 using namespace std;
 9 
10 void insertion_sort(unsigned int a[], int len)//按升序排列
11 {
12     unsigned int key = 0;
13     int j = 0;
14     for (int i = 0; i < len; i++)//依次取出原数组中的数
15     {
16         key = a[i];
17         j = i - 1;
18         while (j >= 0 && a[j] > key)//如果按降序排列则改成j >= 0 && a[j] < key
19         {
20             a[j + 1] = a[j];
21             j--;
22         }
23         a[j + 1] = key;
24     }
25     cout << "排序之后的数组序列: ";
26     for (int i = 0; i < len; i++)
27     {
28         cout << a[i] << ends;
29     }
30     cout << endl;
31 }
32 
33 int main()
34 {
35     default_random_engine e;
36     uniform_int_distribution<unsigned> u(0, 100);//便于测试方便,以后的数据全部用随机数
37     unsigned int test[15] = { 0 };
38     for (int i = 0; i < 15; i++)
39     {
40         test[i] = u(e);
41     }
42     cout << "排序之前的数组序列: ";
43     for (auto c : test)
44         cout << c << ends;
45     cout << endl;
46     insertion_sort(test, sizeof(test) / sizeof(test[0]));
47     return 0;
48 }

 

以上是关于插入排序代码的主要内容,如果未能解决你的问题,请参考以下文章

7种基本排序算法的Java实现

代码片段使用复杂的 JavaScript 在 UIWebView 中插入 HTML?

将代码片段插入数据库并在 textarea 中以相同方式显示

关于在各浏览器中插入音频文件的html代码片段

插入排序(直接插入排序折半插入排序希尔排序的算法思想及代码实现)

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段