黑马程序员技术交流社区

标题: 基础测试题里的排序问题 [打印本页]

作者: 单线程xia    时间: 2014-8-8 15:58
标题: 基础测试题里的排序问题
本帖最后由 单线程xia 于 2014-8-10 14:25 编辑

已解决                       。
作者: 阳光的嘉主角    时间: 2014-8-8 15:59
随便写一种 那个简单写哪个
作者: 单线程xia    时间: 2014-8-8 16:02
阳光的嘉主角 发表于 2014-8-8 15:59
随便写一种 那个简单写哪个

问题说写一个效率较高的
作者: 郑阳阳    时间: 2014-8-8 16:05
那就写折半查找把 应该会把 ,就是定义一个变量指向中间,定义两个变量指向两边
作者: 小白马__^o^    时间: 2014-8-8 16:09
嗯...,这个的话,我想插入排序比较好一点吧!{:2_32:}
作者: 小白马__^o^    时间: 2014-8-8 16:11
希尔排序也可以的!{:2_32:}
作者: fantacyleo    时间: 2014-8-8 16:24
老毕讲的两个都不能算效率较高吧。至少写个Shell排序、快速排序之类的
作者: 桂何钢    时间: 2014-8-8 16:28
视频里有讲啊,我觉得折半好一点
作者: 单线程xia    时间: 2014-8-8 16:31
fantacyleo 发表于 2014-8-8 16:24
老毕讲的两个都不能算效率较高吧。至少写个Shell排序、快速排序之类的

感谢,那就写快速排序了
作者: 何磊    时间: 2014-8-9 16:59
我就把毕老师的冒泡,折半写了下
作者: 单线程xia    时间: 2014-8-9 17:05
何磊 发表于 2014-8-9 16:59
我就把毕老师的冒泡,折半写了下

成绩是满分吗?
作者: 冒牌高手    时间: 2014-8-9 20:22
冒泡和选择排序,我的代码假设一个数组排序
思路就是从第一个开始跟后面的比较,找到比它小的就存在min中,保证了每次循环min都是最小值。
  1. void paixu(int[] a)
  2. {
  3. //定义两个接收最大值最小值的变量
  4. int index=0;
  5. int min=a[0];
  6. for (int i=0;i<a.length-1;i++)
  7. {
  8.     min=a[i];
  9.     for (int j=i+1;j<a.length;j++)
  10.     {
  11.         if(min>a[j])
  12.         {
  13.             index=j;
  14.             min=a[j];
  15.          }
  16.     }
  17.     //在这里进行数值的交换
  18.     a[index]=a[i];
  19.     a[i]=min;
  20. }
  21. }
复制代码


作者: 继续悲伤    时间: 2014-8-9 21:33
你用选择排序或者冒泡排序就行!
作者: dreamseekerkun    时间: 2014-8-9 21:45
表示只会   选择排序,冒泡排序,折半,但是那个效率最高呢,
作者: Justfeeling    时间: 2014-8-9 21:51
随便写一个应该可以的吧
作者: 柠萌不    时间: 2014-8-9 22:41
写折半就差不多了吧...
作者: 渴望学习    时间: 2014-8-9 22:47
路过~~~~        




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2