A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yaozeyang_2014 中级黑马   /  2014-3-23 22:02  /  1172 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yaozeyang_2014 于 2014-3-24 14:06 编辑

排序的方法很多种,但是快速排序效率应该是比较高的吧?那个思路是怎样?或者可以提供下代码参考一下

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

5 个回复

正序浏览
数据结构里面讲的有快速排序:例如 5 3 2 1 9
开始以5为中轴
                          5 3 2 1 9
   1.5比9小  不换   5 3 2 1 9
   2.5比1大 交换    1 3 2 5 9
   3.3比5小 不换    1 3 2 5 9
   4.2比5小  不换   1 3 2 5 9
   一趟结束     (1 3 2) 5 (9)   5左边比5小,右边比5大
然后对1 3 2按相同方法排序         
      
回复 使用道具 举报
大概思路可以给你举一个一本数据结构书上的例子:快速排序是“交换”类的排序,在军训的时候,教官说:”第一个同学出列,以他为基准,比他矮的全站在他左边,比他高的全站在他右边“,这就是一趟快速排序,可以看出一趟快速排序是以一个”枢纽“,将序列分成两部分,枢纽的一边全是比他小(或大于),另一边是全比他大(或小于),然后在按照这个思想在枢纽的左右部分进行。
回复 使用道具 举报 1 0
就平均时间而言,快速排序是所有排序算法中最好的,待排序越接近无序,算法效率越高。
回复 使用道具 举报
张海龙重新起航 发表于 2014-3-23 22:05
那还是冒泡,把一部分捆绑成一体就行了

主要是想看看算法的力量。。冒泡效率很低
回复 使用道具 举报
那还是冒泡,把一部分捆绑成一体就行了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马