黑马程序员技术交流社区

标题: C语言排序 [打印本页]

作者: 初楠    时间: 2015-4-26 17:50
标题: C语言排序
除了冒泡法 还有什么方法    我记得有个快速比较方法是什么来着
作者: jorgon    时间: 2015-4-27 19:57
快速排序算法  设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序
作者: jorgon    时间: 2015-4-27 19:59
快速排序算法               设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序
作者: 大家叫我小祥子    时间: 2015-4-27 22:08
冒泡排序法
选择排序法
快速排序法
桶排序
堆排序

作者: owlwgmt7    时间: 2015-4-28 12:04
这么多排序法
作者: 仰望的繁华    时间: 2015-4-28 12:21
楼上几位说的这些都在《数据结构》里,可以抽空自学一下~
作者: kailee    时间: 2015-4-28 13:57
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. }
复制代码

希望对你有帮助
作者: 13673696542    时间: 2015-4-28 14:42
有这么多方法呀!
作者: 枫宇翔    时间: 2015-4-28 15:51
你说的是快排吧
作者: qiang0901    时间: 2015-4-28 16:14
选择排序
作者: UP-UP    时间: 2015-5-2 11:00
我常用的就三种:选择排序,冒泡排序,插入排序
作者: LLLX77    时间: 2015-5-2 11:35
希尔排序,快速排序,哈希排序,
作者: 霸王睡别姬    时间: 2015-5-2 22:50
http://blog.csdn.net/hguisu/article/details/7776068
看看大神的八大排序吧
作者: wusanzhong    时间: 2015-5-2 23:45
比较多,看自己掌握的
作者: So然后    时间: 2015-5-6 22:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 18612539120    时间: 2015-5-6 23:10
7楼真实在




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