zoukankan      html  css  js  c++  java
  • 各种排序算法的实现直接插入排序

      广州疯狂软件学院拥有三大课程体系包括:java课程,android课程,ios课程,疯狂软件年终钜惠,报名java就业班,免费赠送基础班,名额有限,本月火热报名中,欢迎有志之士电话或者QQ咨询。

      很多排序算法 可能你当时看完还记得,但是时间长了就会忘记, 我现在在这里 记录一下 ,供大家共同讨论。

      首先介绍最直接 最简单的 ,直接插入排序算法:

      这种算法思想比较简单,就是从第二元素开始,依次往后挪动, 每一个元素与前面的元素逐个比较,一旦找到了比自己大的元素 或者相等的元素,那么ok 直接插进去。 如此循环 直到列表遍历完毕。

      下一节回顾,讲一下比这个更快的 折半插入排序。

      这是一个简单的 直接插入排序,如果有什么问题, 或者说有效率方面可以加快的,欢迎大家更正,批评,讨论。

      也可以加群C语言/C++/STL/linux/MFC/WTL 77278127 参与讨论。

      template

      void sort(T *temp, int len)

      {

      for (int i = 1; i < len; i++)

      {

      if (*(temp + i) > *(temp + i - 1))

      {

      continue;

      }

      for (int j = 0; j < i; j ++)

      {

      if (*(temp + j) > *(temp + i))

      {

      T t = (*(temp + i) );

      memcpy(temp + j + 1, temp + j, sizeof(T) * (i - j));

      *(temp + j) = t;

      break;

      }

      }

      }

      }

      int main(int argc, char* argv[])

      {

      int src[10] = {3, 9, 4, 5, 1, 45, 6, 8, 7, 7};

      sort(src, 10);

      for (int i = 0; i < 10; i++)

      {

      printf("%d ", src[i]);

      }

      return 0;

      }

      疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。技术知识沉淀深厚的老师,让你感受Java的魅力,激发你对于编程的热爱,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,成为真正的技术高手;通过大量全真企业项目疯狂训练,迅速积累项目经验。让你成为技能型的现代化高端人才,迅速获得高薪就业!时间不等人,赶紧联系我们吧!疯狂java培训中心地址:广州天河区车陂沣宏大厦3楼。

      疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。疯狂软件开设了java课程,ios课程,android课程,为你提供一个学习java技能的好机会,疯狂软件特大优惠活动,加疯狂软件微信号(疯狂软件),抢优惠,优惠100元+赠送iOS教材一本 详情请看疯狂java培训官网。IT从业着仍是社会所需要的高端人才,广州疯狂软件之力于培养企业所需要的中高端IT人才,让你成为备受企业青睐的人才。

  • 相关阅读:
    学习日志---4.5.6
    学习日志---3
    学习日志---2
    学习日志---1
    阅读《大型网站技术架构:核心原理与案例分析》第五、六、七章
    淘宝网的质量属性的六个常见属性场景
    虚继承 private virtual class
    C++ 类中什么时候需要一个operator<
    C++ 中关于 输出的重定向
    C++ 元编程 学习二
  • 原文地址:https://www.cnblogs.com/gojava/p/3504705.html
Copyright © 2011-2022 走看看