码迷,mamicode.com
首页 > 编程语言 > 详细

插入排序

时间:2021-02-15 12:14:57      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:ace   include   否则   mes   define   after   fine   turn   create   

 1 #include <iostream>
 2 #include <cstdlib>
 3 
 4 #define ARR_SIZE 10
 5 
 6 using namespace std;
 7 
 8 /* 想象一下打牌时发完牌整理的时候,不同的是打牌我们一眼就能看出来这张牌应该插在哪个位置,而插入排序要逐一去对比前面已排好的元素,逐一去交换 */
 9 void insertsort(int a[]);
10 void CreateRandArr(int a[]);
11 
12 int main()
13 {
14     int a[ARR_SIZE];
15     int i;
16     CreateRandArr(a);
17     insertsort(a);
18     cout << "after sort: " << endl;
19     for(i=0;i<ARR_SIZE;i++)
20     {
21         cout << a[i] <<   ;
22     }
23     
24     return 0;
25 }
26 
27 void insertsort(int a[])
28 {
29     int i, j, temp;
30     for(i=1; i<ARR_SIZE; i++)    /* i不能从0开始。否则j-1小于0 */
31     {
32         for(j = i; j>0 && a[j]<a[j-1]; j--)
33         {
34             temp = a[j];
35             a[j] = a[j-1];
36             a[j-1] = temp;
37         }
38     }
39 }
40 
41 void CreateRandArr(int a[])
42 {
43     int i;
44     for(i=0;i<ARR_SIZE;i++)
45     {
46         a[i] = rand() % 100;
47         cout <<a[i] <<   ; 
48     }
49     cout << endl;
50 }

 

插入排序

标签:ace   include   否则   mes   define   after   fine   turn   create   

原文地址:https://www.cnblogs.com/tan-wm/p/14397477.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!