插入排序C语言版本
2024-09-05 04:59:47
算法思路:
每趟将一个待排序的元素作为关键字,按照其关键字值的大小插入到已经排好的部分的适当位置上,直到插入完成。
数组中待排序的关键字前面的数据为已经排序的数据,关键字插入的过程中需要遍历已排序的数据找到位置并插入,已排序数据中插入位置的值以及该值后面的数据顺序后移。
int InsertionSort(unsigned short unsorted[], int len)
{
int i;
int temp;
int j;
if(len < 0)
{
return FALSE;
}
for (i = 1; i < len; i++)//i从1开始,0下标默认排好序
{
if (unsorted[i - 1]> unsorted[i])//unsorted[i]待排序关键字,比前面的小则需要排序,增序排列
{
temp = unsorted[i];//temp为关键字
j = i;
//寻找插入位置并顺序后移动已排序数据
while (j > 0 && unsorted[j - 1] > temp)
{
unsorted[j] = unsorted[j - 1];
j--;
}
unsorted[j] = temp;
}
}
return TRUE;
}
最新文章
- win8 app内存溢出检测工具PerfView.exe的使用
- SQL server 常用语句
- crontab服务详解(任务计划)
- http强制跳转到https
- PowerDesigner 建模
- centos启动流程[转]
- MyEclipse开发JAX-RS架构WebServices收发JSON数据格式
- racle 11g impdp时 报ORA-12899
- aspose输出表格
- 《Apache之虚拟主机的配置》——RHEL6.3
- SSH动态查询封装接口介绍
- call()与apply()区别
- WIN7系统JavaEE(java+tomcat7+Eclipse)环境配
- Merge Into 用法
- php第三方类库定时任务
- 学习资料分享(Java第一行代码视频)<;susmote.com>;
- 按钮组,导航条选中其中一个后添加Class突出元素
- PDF 补丁丁 0.6.0.3340 版发布(修复提取图片的问题)
- 新近碰到的病毒(TR.Spy.Babonock.A)
- 关于python的315道题