首页 > 编程语言 > 详细

插入排序

时间:2019-09-07 13:58:37      阅读:73      评论:0      收藏:0      [点我收藏+]

 

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 //插入排序
 5 void insert_sort(int arr[], int lsize);
 6 //交换函数
 7 void Swap_ele(int *prev, int *late);
 8 //遍历数组
 9 void PrintfArr(int *arr);
10 
11 int main()
12 {
13 int arr[6] = { 3, 6, 1, 2, 9, 7 };
14 int n = sizeof arr / sizeof *arr;
15 printf("%d\n", n);
16 PrintfArr(arr, n);
17 printf("\n");
18 insert_sort(arr, sizeof arr / sizeof *arr);
19 PrintfArr(arr, sizeof arr / sizeof *arr);
20 printf("\n");
21 return 0;
22 }
23 
24 //交换函数
25 void Swap_ele(int *prev, int *late)
26 {
27 int n;
28 n = *prev;
29 *prev = *late;
30 *late = n;
31 }
32 
33 //插入排序
34 void insert_sort(int arr[], int lsize)
35 {
36 int i, j;
37 
38 for (i = 0; i < lsize; i++)
39 {
40 
41 for (j = i ; j >= 0 && j < lsize - 1; j--)
42 {
43 int n = arr[j ];
44 if (arr[j ] < arr[j-1])
45 {
46 /*arr[j ] = arr[j-1];
47 arr[j] = n;*/
48 Swap_ele(&arr[j], &arr[j-1]);
49 }
50 
51 }
52 }
53 }
54 
55 //遍历数组
56 void PrintfArr(int arr[],int n)
57 {
58 for (int i = 0; i < n ;i++)
59 {
60 printf("%d ", arr[i]);
61 }
62 }

 

插入排序

原文:https://www.cnblogs.com/flypig666/p/11480280.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!