插入排序算法
1 #include <stdio.h> 2 3 int *insertion(int *array, int n); 4 void printf_array(int *array, int n); 5 6 int main() 7 { 8 int a[10] = {101, 79, 88, 37, 56, 45, 64, 39, 82, 11}; 9 insertion(a,10); 10 11 printf_array(a,10); 12 13 } 14 15 16 int *insertion(int *array, int n) 17 { 18 int i; 19 int j; 20 int key; 21 for(i = 1; i < n; i ++) 22 { 23 key = array[i]; 24 j = i - 1; 25 while ((j >= 0) && (array[j] > key)) 26 { 27 array[j + 1] = array[j]; 28 j --; 29 } 30 array[j+1] = key; 31 } 32 return array; 33 } 34 35 36 void printf_array(int *array, int n) 37 { 38 int i = 0; 39 for (i; i < n; i ++) 40 { 41 printf("%d ",array[i]); 42 } 43 printf("\n"); 44 }
算法导论 第三版 第二章介绍的 第一个算法 插入排序
C语言实现代码
插入排序是基础中的基础
据这本书说
posted on 2016-04-28 11:06 wangzefeng 阅读(194) 评论(0) 编辑 收藏 举报