二分插入排序算法的C/C++实现
来源:互联网 发布:真实赛车3车辆数据排行 编辑:程序博客网 时间:2024/05/16 19:43
#include<stdio.h>/* Name: Copyright: Author: @dujianjian Date: 26/10/12 12:41 Description: 二分插入排序 */void binary_insert_sort(int a[],int n){ for(int i =1;i<n;i++){ int temp = a[i]; int low = 0 ; int high = i; //二分查找插入位置 while(low <= high){ int mid = (low + high) >> 1; if(temp > a[mid])low = mid + 1; else high = mid - 1; } //向后移动数据 for(int j = i - 1;j >= high + 1;j--)a[j+1] = a[j]; a[high+1] = temp; //插入 } } int main(){ int a[10] = {5,9,8,7,2,6,1,0,3,4}; for(int i = 0;i<10;i++) printf("%d ",a[i]); printf("\n"); binary_insert_sort( a, 10); for(int i = 0;i<10;i++) printf("%d ",a[i]); printf("\n"); getchar(); return 0; }
示例结果:
- 二分插入排序算法的C/C++实现
- 插入排序算法的C语言实现
- C++、C#、java算法学习日记04----二分插入排序
- 排序算法的C语言实现-插入排序
- 排序算法(c实现)------- 插入排序
- C实现三种插入排序-简单插入排序、二分插入排序、希尔插入排序
- 插入排序的c实现
- 快速排序和二分查找算法的实现C语言
- 算法导论习题2.3-6 用二分查找改进插入排序(c实现)
- 插入排序算法+优化 (二分查找优化有序部分)C语言实现
- [算法练习]插入排序的C语言实现
- 插入排序算法C语言实现
- 插入排序算法C语言实现
- 插入排序算法(C语言实现)
- 插入排序算法python和c实现
- 直接插入排序算法--c语言实现
- 【算法】直接插入排序C语言实现
- 插入排序算法C语言实现
- @代表“Objective-C”的标志,证明您正在使用Objective-C语言 Objective-C语言关键词,@property与@synthesize配对使用。 功能:让编译好器自动编
- FusionCharts Free中文开发指南 第七章--使用XML来创建和控制图形
- FusionCharts Free中文开发指南 第八章--FusionCharts Free和组合图XML
- linux音频alsa-uda134x驱动分析之二(时钟)
- Launching Tasks in the Foreground and Background
- 二分插入排序算法的C/C++实现
- FusionCharts Free中文开发指南 第九章--动态改变图形的类型和数据
- 有一个数组,各种数组出现次数的神组合……
- FusionCharts Free中文开发指南 第十章--FCF中的下钻
- PLAY2.0框架快速入门
- UITableView实现双击事件的方法
- c++ primer 13.4
- java中this的使用
- [Git]将remote branch强制更新到local branch