递归实现插入排序,算法导论练习2.3,linux C实现
来源:互联网 发布:淘宝自然排名优化 编辑:程序博客网 时间:2024/06/05 08:32
采用递归实现插入排序,代码简洁,linux下纯C实现,编译通过,核心函数如下:
void sort(int* a, int index, int N){int key = *(a + index);int i = index - 1;if(index+1 <= N){for(;i>=0;i--)if(key >= *(a+i))break;else*(a+i+1) = *(a+i);*(a+i+1) = key;index = index + 1;sort(a, index, N);}return;}
完整代码如下(代码可在anycodes在线编译测试):
#include <stdio.h>void sort(int* a, int index, int N){int key = *(a + index);int i = index - 1;if(index+1 <= N){for(;i>=0;i--)if(key >= *(a+i))break;else*(a+i+1) = *(a+i);*(a+i+1) = key;index = index + 1;sort(a, index, N);}return;}int main(){int sequence[10] = {56,4,76,18,34,12,24,16,38,1};int L = sizeof(sequence)/sizeof(int);int i = 0;sort(sequence, 1, L);for(;i<L;i++){printf("%d ", sequence[i]);}printf("\n");return 0;}
- 递归实现插入排序,算法导论练习2.3,linux C实现
- 二分法实现插入排序,时间复杂度O(nlgn),算法导论练习2.3,linux纯C实现
- 【java实现】算法导论之插入排序递归
- 【算法导论】 插入排序实现
- 【算法导论】插入排序实现
- 插入排序的递归实现和二分查找递归实现,算法导论2.3-4和2.3-5
- 算法导论:堆排序递归实现 (c语言)
- 算法导论:堆排序非递归实现(c语言)
- 《算法导论》1、插入排序实现(C++)
- 算法导论插入排序算法python实现
- 算法导论之插入排序C++实现
- 算法导论:插入排序java实现
- 算法导论 插入排序 C++实现
- 算法导论学习-插入排序python实现
- 算法导论习题2.3-6 用二分查找改进插入排序(c实现)
- [算法练习]插入排序的C语言实现
- 算法导论(Introduction to Algorithms)之算法入门(插入排序与合并排序C语言实现)
- 算法导论习题2.3-4 插入排序递归算法2
- Apache MINA 开发高性能网络应用程序
- 如何查阅自然语言处理领域学术资料
- 遍历并监视,重新启动进程
- git status设置颜色
- 协同管理软件方面的一些文章
- 递归实现插入排序,算法导论练习2.3,linux C实现
- android项目开发流程
- [设计模式笔记]三. 行为型模式--21. Observer模式(观察者)对象行为型模式(一)
- MPI string pack
- 图像运动去模糊(Motion Deblurring)代码
- iOS 发布应用程序到App Store
- exit()和_exit()的区别
- 从命令行启动应用程序
- 将罗马数字字符串转换为阿拉伯整形数 Roman to Integer