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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈光慧 中级黑马   /  2015-11-21 13:05  /  950 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近老师讲冒泡排序,我给写下来,省的以后忘了,嘿嘿,大家不太了解,可以看下。

开始要弄懂何为冒泡排序:“冒泡”顾名思义,瓶子里的泡泡,当然是大的上浮的快,小的上浮的慢了。所以我想的是,循环集合里所有的子项,一个个对比,交换位置,废话不说,上代码

#include <stdio.h>
void dataSort(int a[], int n);

void dataSort(int a[], int n)
{
    int i, j, temp;
    for (j = 0; j < n - 1; j++)
        for (i = 0; i < n - 1 - j; i++)
        {
            if(a[i] > a[i + 1])
            {
                temp = a[i];
                a[i] = a[i + 1];
                a[i + 1] = temp;
            }
        }
}

int main()
{
    int number[8] = {18,22, 7,17, 87,96, 8, 32};
    int i;
    dataSort(number, 8);
    for (i = 0; i < 8; i++)
    {
        printf("%d\n", number[i]);
    }
}

如有更好的想法,欢迎拍砖,但是勿喷啊。

5 个回复

倒序浏览
所谓冒泡,大数下沉,小数上浮。
回复 使用道具 举报
顶楼上的,加油,代码不错。
回复 使用道具 举报
顶一下~~~~~~~~
回复 使用道具 举报
i和j反过来写,看着真不习惯
回复 使用道具 举报
不错............
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马