算法导论习题2.3-6 用二分查找改进插入排序(c实现)
来源:互联网 发布:武汉软件新城 大巴 编辑:程序博客网 时间:2024/05/16 03:39
#include<stdio.h>void sort(int s[],int size){ for(int i = 1;i <size; i++) { int key = s[i]; int low = 0; int high = i-1; int middle = low; while(low<=high) { middle = (low+high)/2; if(s[middle] == key) break; else if(key < s[middle]) high = middle-1; else low = middle+1; } if(key>s[middle]){for(int j = i-1; j>middle ; j--) { s[j+1] = s[j]; } s[middle+1] = key;}else{for(int j = i-1; j>=middle ; j--) { s[j+1] = s[j]; } s[middle] = key;}}}int main(){int s[5]={4,9,13,16,5};sort(s,5);for(int i=0;i<5;i++){printf("%d ",s[i]);}printf("\n");return 0;}
0 0
- 算法导论习题2.3-6 用二分查找改进插入排序(c实现)
- 插入排序的递归实现和二分查找递归实现,算法导论2.3-4和2.3-5
- 《算法导论》4、二分查找实现(C++)
- 插入排序算法+优化 (二分查找优化有序部分)C语言实现
- 算法导论习题2.3-4 插入排序递归算法2
- 《算法导论》1、插入排序实现(C++)
- 插入排序的改进版本(二分查找)
- 【算法导论】 插入排序实现
- 【算法导论】插入排序实现
- 排序算法--折半插入排序(二分查找排序)
- 算法导论 习题6.2-5 用迭代法实现堆排序
- 算法导论 习题6.2-5 用迭代法实现堆排序
- 二分法实现插入排序,时间复杂度O(nlgn),算法导论练习2.3,linux纯C实现
- 递归实现插入排序,算法导论练习2.3,linux C实现
- 算法导论插入排序算法python实现
- 算法导论计数排序实现(C++)
- Python实现冒泡排序、选择排序、插入排序、快速排序、归并排序、二分法查找算法(基于《算法导论》伪代码)
- 读《算法导论》我来C语言实现(1)——插入排序
- 比较三个数的大小
- ACM ZOJ 1649 (Rescue)
- svn 钩子 post-commit 出现255错误解决办法
- 送师父去北京
- 第八章实验7
- 算法导论习题2.3-6 用二分查找改进插入排序(c实现)
- PHP数组和Json之间的转换
- 三、点播歌曲
- OpenGL学习
- Python-Project Euler 27
- Error:could not open '...jvm.cfg'解决办法
- 东方辉针城简易修改器
- 将一个string字符串变量分解为字符输出
- jsp资源路径设置