对一组无序数进行递增排序.(使用冒泡排序和快速排序, 比较它们的排序用时)

 我来答
ljt20061908
2013-06-16 · TA获得超过1033个赞
知道小有建树答主
回答量:527
采纳率:87%
帮助的人:203万
展开全部
// 冒泡排序
void bubbleSort (int data[], size_t size) {
 for (size_t i = 0; i < size - 1; i++) {
  bool ordered = true;
  for (size_t j = 0; j < size - 1 - i; j++)
   if (data[j] > data[j+1]) {
    swap (data[j], data[j+1]);
    ordered = false;
   }
  if (ordered)
   break;
 }

void quickSort (int data[], size_t left, size_t right){
 size_t p = (left + right) / 2;
 int pivot = data[p];
 for (size_t i = left, j = right; i < j;) {
  while (! (i >= p || pivot < data[i]))
   i++;
  if (i < p) {
   data[p] = data[i];
   p = i;
  }
  while (! (j <= p || data[j] < pivot))
   j--;
  if (j > p) {
   data[p] = data[j];
   p = j;
  }
 }
 data[p] = pivot;
 if (p - left > 1)
  quickSort (data, left, p - 1);
 if (right - p > 1)
  quickSort (data, p + 1, right);
}
更多追问追答
追问
你是用的c++编的吗??
追答
c和C++都是通用的啊,对于这两段代码
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式