一:基本思想

1.在要排序的一组数组中两类相互比较,按照题目所给的条件从大到小排或者从小到大排。

2.(假定现在从小向大排序),利用循环多次两两比较,大的往右排。

二:基本原理

1.确定冒泡到底有多少轮?举个例子,现在有三张卡牌分别标号不同的数字1,2,3,将其中的两张卡牌拍好,第三张自然也有了自己的位置,即当一个数组中有n个数字的时候需要n-1趟冒泡。同时每一趟冒泡也只能将一个数字归位。

2.每一趟冒泡该如何操作?而每一趟冒泡排序都从第一位开始进行相邻两个数字的比较比较完成以后大的往后挪。

三:动图表示

 四:代码实现

1.从左向右交换:

//冒泡排序-从左到右交换
void Bubblesort(int L[],int n)
{int i,j; //记录内外循环int flag,temp;//flag用来判断排序是否完成 temp用于完成交换for(i=n-1;i>=0;i--){flag=0;for(j=0;j<i;j++){if(L[j]>L[j+1]){temp=L[j];L[j]=L[j+1];L[j+1]=temp;flat=1;}if(flag==0) return;//没有发生交换 说明序列已经有序}}
}

2.从右向左:

//冒泡排序-从右到左交换
void Bubblesort(int L[],int n)
{int i,j;for(i=0;i<num-1;i++)//两层循环第一次都应有n-1次比较{ for(j=0;j<n-1-i;j++){if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}}

冒泡排序(从前往后和从后往前)相关推荐

  1. 第十四周项目一数组大折腾(1)创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后输出数组中元素的值,每五个元素

    问题及代码 创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后输出数组中元素的值,每五个元素 换一行. /*烟台大学计算机学院 201 ...

  2. linux从前往后读取文件夹图片名称,Linux目录和文件中的常用命令(三)

    摘要 2.10 环境变量PATH2.11 cp命令2.12 mv命令2.13 文档查看cat/more/less/head/tail 一 环境变量PATH 1.基本的环境变量 基本的环境变量有5个,分 ...

  3. 记直接插入排序,为什么必须从后往前遍历

    从前往后遍历找到插入位置 @Slf4j public class InsertSort {@Testpublic void test() {int[] arr = new int[]{5, 3, 7, ...

  4. 插入排序算法详解(从后往前)

    插入排序算法详解(从后往前) A. 把最后一个元素当成一个降序数组-----降序 1.核心代码 for (int i = 0; i <numbers.length-1; i++) {//j的初始 ...

  5. java 根据分隔符从后往前读取文件数据

    java 根据分隔符从后往前读取文件数据 思路 从前往后比较简单,使用Scanner的sc.useDelimiter(delimiter); 就可以. 从后往前 百度了半天似乎java没有从后往前读的 ...

  6. 数组-合并两个有序数组(双指针,从后往前)

    题意: 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 ...

  7. 100米队伍,从队伍后到前_我们的队伍

    100米队伍,从队伍后到前 The last twelve months have brought us a presidential impeachment trial, the coronavir ...

  8. 项目使用ts辅助_启动辅助项目后的前100天该做什么

    项目使用ts辅助 by Tigran Hakobyan 由Tigran Hakobyan 启动辅助项目后的前100天该做什么 (What to do in the first 100 days aft ...

  9. 55天 - 算法 - 动态规划 - 数组类 从前往后

    //模板#include <iostream> #include <cstdio> #include <string> using namespace std;/* ...

最新文章

  1. 【转载】yolo处理流程实例
  2. ST17H26调试板操作注意事项
  3. [密码学] DES(二)
  4. python什么模块动态调用链接库_python如何调用扩展模块
  5. 构造 Codeforces Round #275 (Div. 2) C. Diverse Permutation
  6. 基本概率模型和贝叶斯定理
  7. 关于JAVA中的synchronized,一段不错的解释...
  8. 51单片机全自动锂电池容量电量检测放电电流电压ACS712 ADC0832
  9. 喜报丨内蒙古谱尼医学获批开展临床基因扩增检验技术
  10. http 网络异常请求处理
  11. mac android 模拟器启动,react-native使用脚本启动android模拟器(macos)
  12. CSP 寻宝!大冒险! C++
  13. 实现嵌入式linux自动同步网络时间---NTP
  14. python算法详解脚本之家_Python算法应用实战之栈详解
  15. 软件测试-白盒测试方法
  16. 【架设KMS服务器流程建立服务项目启动】
  17. 因为不知道,所以不知道
  18. android监测闹钟,Android上的图像识别:构建一个看到的闹钟
  19. 2022-1-21 迭代器的适配器
  20. 捍卫数据真实性的卫士-本福特定律

热门文章

  1. Spring事务传播行为
  2. MySQL--DDL语言
  3. NKOJ-Unknow 监狱
  4. 物联网应用多样化,民用化趋势日渐明显
  5. mysql 主键理解_MySQL主键的理解
  6. 基于内容的遥感影像场景检索
  7. Spring for Kafka版本对照
  8. CocosCreator接入穿山甲广告3-底部banner
  9. 通过IP地址定位准确的地理位置
  10. 有时候,让自己在细节上有一些改变,你的气场就会慢慢凝聚。