博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序算法C语言实现——冒泡排序
阅读量:5033 次
发布时间:2019-06-12

本文共 569 字,大约阅读时间需要 1 分钟。

/*冒泡

O(n^2)*/
/*
原理:
    比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
    针对所有的元素重复以上的步骤,除了最后一个。
    持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
*/
void BubbleSort(int* data, size_t len)
{
    size_t i=0,j=0;
    int iTmp=0;
    int iFlag=0;
   
    if((NULL == data) || (len <= 0))
    {
        /*throw("Invalid Parameter");*/
        return;
    }
   
    for(i=0;i<len-1;++i)
    {
        iFlag=0;
        for(j=0;j<len-i-1;++j)
        {
            if(data[j] > data[j+1])
            {
                iTmp = data[j+1];
                data[j+1] = data[j];
                data[j] = iTmp;
                iFlag=1;
            }
        }
        if(0==iFlag)
        {
            break;/*内层循环没有元素交换,则排序提前完成*/
        }
    }
}

转载于:https://www.cnblogs.com/JoZSM/p/9768735.html

你可能感兴趣的文章
Python作业1
查看>>
MySQL新增多个字段
查看>>
英文词频统计预备,组合数据类型练习
查看>>
JSP 页面中插入图片
查看>>
[网络收集]showModalDialog和showModelessDialog区别
查看>>
[Canvas]Running Horse
查看>>
OC-runtime
查看>>
格式化输入输出和分支语句
查看>>
第三次作业:处理器管理与进程调度
查看>>
详解log4j2(上) - 从基础到实战
查看>>
Log4j日志管理的简单实例
查看>>
VS2013找不到SDKDDKVer.h
查看>>
设置Webdriver启动chrome为默认用户的配置信息
查看>>
[Tips]Javascrip计算文件行数
查看>>
Java开发小技巧(三):Maven多工程依赖项目
查看>>
python QRcode
查看>>
AHOI 2009 (BZOJ1798)维护序列 seq (线段树好题?)
查看>>
2019牛客暑期多校训练营(第五场)H subsequence 2(拓扑排序)
查看>>
第十七周博客作业<西北师范大学|李晓婷>
查看>>
[Err] 1136 - Column count doesn&#39;t match value count at row 1
查看>>