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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 初楠 中级黑马   /  2015-4-26 17:50  /  1448 人查看  /  15 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

除了冒泡法 还有什么方法    我记得有个快速比较方法是什么来着

15 个回复

倒序浏览
快速排序算法  设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序
回复 使用道具 举报
快速排序算法               设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序
回复 使用道具 举报
冒泡排序法
选择排序法
快速排序法
桶排序
堆排序
回复 使用道具 举报
这么多排序法
回复 使用道具 举报
楼上几位说的这些都在《数据结构》里,可以抽空自学一下~
回复 使用道具 举报
kailee 中级黑马 2015-4-28 13:57:20
7#
C语言实现快速排序,递归式:
  1. #include <stdio.h>

  2. void quick_sort(int s[], int l, int r)
  3. {

  4.     if (l < r)
  5.     {
  6.         int i = l, j = r, x = s[l];
  7.         while (i < j)
  8.         {
  9.             while(i < j && s[j] >= x)
  10.                 j--;
  11.             if(i < j)
  12.                 s[i++] = s[j];

  13.             while(i < j && s[i] < x)
  14.                 i++;
  15.             if(i < j)
  16.                 s[j--] = s[i];
  17.         }
  18.         s[i] = x;
  19.         quick_sort(s, l, i - 1);
  20.         quick_sort(s, i + 1, r);
  21.     }
  22. }

  23. void main()
  24. {
  25.     int s[]={48,6,57,42,60,72,83,73,88,85};
  26.     quick_sort(s,0,9);
  27.     int i=0;
  28.     for (;i<10;i++)
  29.     {
  30.         printf("%d  ",s[i]);
  31.     }
  32. }
复制代码

希望对你有帮助
回复 使用道具 举报
有这么多方法呀!
回复 使用道具 举报
你说的是快排吧
回复 使用道具 举报
选择排序
回复 使用道具 举报
我常用的就三种:选择排序,冒泡排序,插入排序
回复 使用道具 举报
希尔排序,快速排序,哈希排序,
回复 使用道具 举报
http://blog.csdn.net/hguisu/article/details/7776068
看看大神的八大排序吧
回复 使用道具 举报
比较多,看自己掌握的
回复 使用道具 举报
So然后 2015-5-6 22:35:38
15#
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
18612539120 来自手机 中级黑马 2015-5-6 23:10:14
16#
7楼真实在
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马