算法思路:

        每趟将一个待排序的元素作为关键字,按照其关键字值的大小插入到已经排好的部分的适当位置上,直到插入完成。

        数组中待排序的关键字前面的数据为已经排序的数据,关键字插入的过程中需要遍历已排序的数据找到位置并插入,已排序数据中插入位置的值以及该值后面的数据顺序后移。

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;
}

最新文章

  1. win8 app内存溢出检测工具PerfView.exe的使用
  2. SQL server 常用语句
  3. crontab服务详解(任务计划)
  4. http强制跳转到https
  5. PowerDesigner 建模
  6. centos启动流程[转]
  7. MyEclipse开发JAX-RS架构WebServices收发JSON数据格式
  8. racle 11g impdp时 报ORA-12899
  9. aspose输出表格
  10. 《Apache之虚拟主机的配置》——RHEL6.3
  11. SSH动态查询封装接口介绍
  12. call()与apply()区别
  13. WIN7系统JavaEE(java+tomcat7+Eclipse)环境配
  14. Merge Into 用法
  15. php第三方类库定时任务
  16. 学习资料分享(Java第一行代码视频)&lt;susmote.com&gt;
  17. 按钮组,导航条选中其中一个后添加Class突出元素
  18. PDF 补丁丁 0.6.0.3340 版发布(修复提取图片的问题)
  19. 新近碰到的病毒(TR.Spy.Babonock.A)
  20. 关于python的315道题

热门文章

  1. java常见的面试题(一)
  2. shell判断参数值是否在数组内的方法
  3. 一个思维导图,带你深入理解 Linux 网络
  4. MySQL-过滤数据(WHERE语句)
  5. S32K148_CAN驱动(裸机开发)
  6. Python网页解析库:用requests-html爬取网页
  7. Hadoop中HDFS 的相关进程以及工作流程图(详细流程图)
  8. 简答一波 HashMap 常见八股面试题 —— 算法系列(2)
  9. python--函数--参数传入分类
  10. Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式