链接1:
邻居好说话:冒泡排序 【啊哈!算法】

冒泡排序的核心部分是一个双重嵌套循环。时间复杂度为:O(N2)O(N2)O(N^2)。NN<script type="math/tex" id="MathJax-Element-2">N</script> 为待排序的元素个数。


以下是自己的代码:

//#include <stdio.h>
#include <iostream>using namespace std;//输出数组中的内容
void Print(int *p,int num)
{for (int i=0;i<num;i++){cout<<p[i]<<" ";}cout<<endl;
}//冒泡排序核心部分
void BubbleSort(int *p,int num)
{int i,j,temp;for(i=0;i<num;i++){for(j=0;j<num-i;j++){if(p[j]<p[j+1]){temp=p[j];p[j]=p[j+1];p[j+1]=temp;}}}
}//主函数
int main()
{int Score[]={5,3,5,2,8};cout<<"排序前:"<<endl;int num=sizeof(Score)/sizeof(int);Print(Score,num);BubbleSort(Score,num);cout<<"排序后:"<<endl;Print(Score,num);getchar();getchar();  //这里的getchar();用来暂停程序,以便查看程序输出的内容//也可以用system("pause");等来代替return 0;}

程序运行结果为:

排序前:
5 3 5 2 8
排序后:
8 5 5 3 2

代码2:

//#include <stdio.h>
#include <iostream>using namespace std;struct Student_t
{char name[21];int stu_score;
};//输出数组中的内容
void Print(Student_t *p,int num)
{for (int i=0;i<num;i++){cout<<p[i].name<<":"<<p[i].stu_score<<endl;}cout<<"************"<<endl;
}//冒泡排序
void BubbleSort(Student_t *p,int num)
{int i,j;Student_t temp;for(i=0;i<num;i++){for(j=0;j<num-i;j++){if(p[j].stu_score<p[j+1].stu_score){temp=p[j];p[j]=p[j+1];p[j+1]=temp;}}}
}//主函数
int main()
{//结构数组Student_t Mystu[5]={{"name1",5},{"name2",3},{"name3",5},{"name4",2},{"name5",8}};cout<<"排序前:"<<endl;int num=sizeof(Mystu)/sizeof(Student_t);Print(Mystu,num);BubbleSort(Mystu,num);cout<<"排序后:"<<endl;Print(Mystu,num);getchar();getchar();  //这里的getchar();用来暂停程序,以便查看程序输出的内容//也可以用system("pause");等来代替return 0;}

代码运行结果为:

排序前:
name1:5
name2:3
name3:5
name4:2
name5:8
************
排序后:
name5:8
name1:5
name3:5
name2:3
name4:2
************
请按任意键继续. . .
************

排序算法2:冒泡排序相关推荐

  1. Java排序算法:冒泡排序

    Java排序算法:冒泡排序 //创建数组并赋值int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000};for(int i=0 ...

  2. 排序算法:冒泡排序、插入排序、选择排序、希尔排序

    相关博客: 排序算法:冒泡排序.插入排序.选择排序.希尔排序 排序算法:归并排序.快速排序 排序算法:桶排序.计数排序.基数排序 排序算法:堆排序 十大排序算法小结 一.冒泡排序: 1.算法原理: 冒 ...

  3. golang 排序_常用排序算法之冒泡排序

    周末无事,带娃之余看到娃娃在算数,想到了排序-尝试着把几种常用的排序算法跟大家聊一聊,在分析的后面我会用GoLang.PHP和JS三种语言来实现下. 常见的基于选择的排序算法有冒泡排序.插入排序.选择 ...

  4. 十大排序算法:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序

    冒泡排序.选择排序.插入排序.希尔排序.归并排序.快速排序.堆排序.计数排序.桶排序.基数排序的动图与源代码. 目录 关于时间复杂度 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 ...

  5. 数据结构与算法:十大排序算法之冒泡排序

    数据结构与算法:十大排序算法之冒泡排序 package array;import java.util.Arrays;//冒泡排序 //1.比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换 ...

  6. 【排序算法】冒泡排序、简单选择排序、直接插入排序比较和分析

    [排序算法]冒泡排序.简单选择排序.直接插入排序比较和分析 写在前面: 本文简单介绍了冒泡排序.简单选择排序.直接插入排序,并对这三种排序进行比较,入参都是80000个随机数,比较算法耗时.进一步,我 ...

  7. 排序算法(1)冒泡排序

    排序算法(1)冒泡排序 原理: 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 3. ...

  8. php编写冒泡排序算法_PHP排序算法之冒泡排序(Bubble Sort)实现方法详解

    本文实例讲述了PHP排序算法之冒泡排序(Bubble Sort)实现方法.分享给大家供大家参考,具体如下: 基本思想: 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换 ...

  9. 冒泡和快速排序的时间复杂度_常用排序算法之冒泡排序

    周末无事,带娃之余看到娃娃在算数,想到了排序-尝试着把几种常用的排序算法跟大家聊一聊,在分析的后面我会用GoLang.PHP和JS三种语言来实现下. 常见的基于选择的排序算法有冒泡排序.插入排序.选择 ...

  10. 排序算法之冒泡排序(Java版)

    排序:即使集合或数组中的元素有序化 本篇介绍最简单.最易掌握的冒泡排序 冒泡排序:         是一种简单的排序算法, 冒泡排序就像学生站队一样,要在老师的引导下,以某位同学位基准,其他学生按身高 ...

最新文章

  1. SDN/NFV步入规模部署期 运营商拓智能化成大势所趋
  2. Windows内核情景分析 笔记
  3. ios nil、NULL和NSNull 的使用
  4. C#函数式编程之标准高阶函数
  5. 【car】什么是购车落地价?买车是先谈裸车价还是其他方面?
  6. java web转码_web/java实现多种格式视频上传、转码、截图、播放、下载等功能附源码(详细)...
  7. 1到30图片大全顺序_终于解决了!自媒体作者,如何给 Word 中的图片批量编号?...
  8. Android 基础—— 对Context的理解与使用技巧
  9. android层级关系图,画出 View 的层级 3D 图和树形图来分析层级关系
  10. ffmpeg mp4 html5,FFMPEG mkv to mp4 conversion lacks audio in HTML5 player
  11. 断网问题解决【值得一记】
  12. 表单验证神器——jquery.validate插件
  13. 金蝶k3 使用两台服务器的优势,金蝶k3报价系统优势如何,电商企业应用尤为明显...
  14. 服务器系统还原后如何退回去,如何进行系统还原
  15. android+excel软件,Android版Office办公软件Excel应用
  16. 计算机审计方法模板,计算机审计上机实验报告模板.doc
  17. 推荐系统用户反馈延迟新解法!阿里提出CVR无偏估计算法
  18. sqlserver中如何提取datetime格式数据中的日期或时间?
  19. 嵌入式之uboot源码分析-启动第二阶段学习笔记(下篇)
  20. mysql输出max函数_MySQL中的max()函数使用教程

热门文章

  1. 关于Linux系统启动过程,你应该了解这些
  2. php 显示外链图片,php绘图之加载外部图片的方法
  3. 批量数据插入(Java读取Excel文件并使用mybatis写入MySQL数据库)(含免费源码下载)
  4. 表格列隐藏_WPS表格(Excel)基础编辑
  5. Mybatis批量insert报错的解决办法【the right syntax to use near '' at line...】
  6. 存储过程别忘了写最后一句话,别忘了类型转换
  7. python_四元数/旋转矩阵/欧拉角之间的相互变换(简单易用版)
  8. karto探秘之open_karto 第二章 --- 参数解析
  9. C语言中基础数据类型的取值范围——整型溢出问题
  10. 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList