黑马程序员-排序方法小结

时间:2013-07-20 栏目:java技术 阅读:0 作者:宏鹏教育鲁广北校区

  作为一个初学者,排序算法可能是接触到的早的逻辑实例了,而且这些个逻辑还确实有点伤脑筋,为此宏鹏教育光谷校区老师特地为学生总结以下内容:

  一、冒泡排序

  直接、更好理解、初学者容易想到的排序算法!但是好像效率在大量的数据方面有些不足。

  冒泡排序算法的运作如下(升序):

  1.比较相邻的元素。如果个比第二个大,就交换他们两个。

  2.对每一对相邻元素作同样的工作,从开始对到结尾的后一对。在这一点,后的元素应该会是更大的数。

  3.针对所有的元素重复以上的步骤,除了后一个。

  4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

  用java代码实现:

  二、选择排序

  先在未排序序列中找到小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

  这种方法因为每一次只需要交换一次特定的数据,所以可以将需要交换的数据记录到内存里边,等一轮判断完毕之后,再交换存放在堆中的数据,这样可以提高效率。。

  用java代码实现

  三、插入排序

  工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。就是将数组个值看做有序的,从后每一个值放进来的时候,找放的位置。这里边就需要一些已经排好的数据可能会整体左移或者右移,所以用插入排序的算法也可以找到新数据存放到有序数组中的位置

  用java代码实现:

  以上是三种基本的排序算法,现在效率高的并不在里面,而是一种叫做希尔排序的算法,如果学生有兴趣的话可以继续深入了解!

专业老师指导

赵老师

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

立即在线咨询

培训咨询客服

陈老师

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑

立即在线咨询

热门课程任你选,成长蜕变看的见

课程余量有限,即将截止报名!查看详情