博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
冒泡排序算法 C++和PHP达到
阅读量:6276 次
发布时间:2019-06-22

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

冒泡排序是小元素向前或向后的大要素。两个相邻元件之间的比较结果更。交换也这两个元件之间发生。它是
最慢的排序算法。

效率最低的算法。

时间复杂度:
它是最差时间复杂度为:O(n^2),冒泡排序最好的
时间复杂度
为:O
(n^2)
。平均时间复杂度为
:O(n^2)
算法原理:
    1. 
比較相邻的元素。假设第一个比第二个大。就交换他们两个。
    2. 
对每一对相邻元素作相同的工作,从開始第一对到结尾的最后一对。

在这一点,最后的元素应该会是最大的数。

    3. 
针对全部的元素反复以上的步骤,除了最后一个。
    4. 
持续每次对越来越少的元素反复上面的步骤,直到没有不论什么一对数字须要比較
算法稳定性:
冒 泡排序就是把小的元素往前调或者把大的元素往后调。比較是相邻的两个元素比較,交换也发生在这两个元素之间。

所以。假设两个元素相等,我想你是不会再无聊 地把他们俩交换一下的。假设两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以同样元素的前后顺序并没有改变, 所以冒泡排序是一种稳定排序算法。


php代码:
"; bubble_sort($data, $n); //生成一个随机数组成的不反复数组 function createData($n, $min, $max){ $bigarr = range($min, $max); $arrkey = array_rand($bigarr, $n); //返回键名 for($i=0; $i
"; } echo "排序后的结果:"; print_r($data); }?>
执行结果:

c++代码:
#include
#include
#include
using namespace std;int createData(int arr[], int n, int min, int max);void bubble_sort(int *a, int n);int main(){ int arr[100]; int n=6; int min=2; int max=12; createData(arr, n, min, max); for (int i=0; i
a[i]) { int tmp = a[i]; a[i] = a[i-1]; a[i-1] = tmp; flag = true; } } k--; }}
执行结果:

版权声明:本文博主原创文章。博客,未经同意不得转载。

你可能感兴趣的文章
DELL EqualLogic PS存储数据恢复全过程整理
查看>>
《Node.js入门经典》一2.3 安装模块
查看>>
《Java 开发从入门到精通》—— 2.5 技术解惑
查看>>
又是神经网络!还能用来盗取XX女演员信息
查看>>
Ruby 1.9概要(5) 异常
查看>>
《网站性能监测与优化》一2.2 交易网站
查看>>
Ceph分布式存储学习指南1.5 Ceph块存储
查看>>
《Tableau 8权威指南》—— 1.1 Tableau是什么
查看>>
Python语言的创始人解释为什么Python数组的索引从0开始
查看>>
《Netty官方指南》把Netty当做一个通用的库
查看>>
sicp 2.3小结习题尝试解答
查看>>
Linux 性能诊断 perf使用指南
查看>>
实操分享:看看小白我如何第一次搭建阿里云windows服务器(Tomcat+Mysql)
查看>>
Sphinx 配置文件说明
查看>>
数据结构实践——顺序表应用
查看>>
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>