c语言冒泡排序的四个方法

3、实现以下四种冒泡排序的方法:a)将最大(小)值逐一推送到尾部b)将最大(小)值逐一推送到头部我只会最简单的刚学习c语言... 3、实现以下四种冒泡排序的方法:
a)将最大(小)值逐一推送到尾部
b)将最大(小)值逐一推送到头部
我只会最简单的 刚学习c语言
展开
 我来答
aqq_sc
2013-07-25 · 超过18用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:44.8万
展开全部
#include <stdio.h>

// 将最大值逐一推送到尾部
void bubble_sort_1(int x[], int len)
{
  int i, j, tmp;
  for (i = len - 1; i > 0; --i)
    for (j = 0; j < i; ++j) {
      if (x[j] > x[j+1]) {
        tmp = x[j];
        x[j] = x[j+1];
        x[j+1] = tmp;
      }
    }
}

// 将最小值逐一推送到尾部
void bubble_sort_2(int x[], int len)
{
  int i, j, tmp;
  for (i = len - 1; i > 0; --i)
    for (j = 0; j < i; ++j) {
      if (x[j] < x[j+1]) {
        tmp = x[j];
        x[j] = x[j+1];
        x[j+1] = tmp;
      }
    }
}

// 将最大值逐一推送到头部
void bubble_sort_3(int x[], int len)
{
  int i, j, tmp;
  for (i = 0; i < len - 1; ++i)
    for (j = len - 1; j > i; --j) {
      if (x[j] > x[j-1]) {
        tmp = x[j];
        x[j] = x[j-1];
        x[j-1] = tmp;
      }
    }
}

// 将最小值逐一推送到头部
void bubble_sort_4(int x[], int len)
{
  int i, j, tmp;
  for (i = 0; i < len - 1; ++i)
    for (j = len - 1; j > i; --j) {
      if (x[j] < x[j-1]) {
        tmp = x[j];
        x[j] = x[j-1];
        x[j-1] = tmp;
      }
    }
}

int main()
{
  int i, x[] = {3, 6, 1, 4, 8, 0, 9, 5, 2, 7};
  int len = sizeof(x) / sizeof(x[0]);
  // 调用不同的bubble
  bubble_sort_4(x, len);
  for (i = 0; i < len; ++i)
    printf("%d ", x[i]);
  printf("\n");
  return 0;
}
百度网友0433c59
2013-07-24
知道答主
回答量:4
采纳率:0%
帮助的人:6104
展开全部
这个能在网上找到的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mauree9
2021-04-14
知道答主
回答量:54
采纳率:0%
帮助的人:4.2万
展开全部

给大家介绍冒泡排序的Scratch做法

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式