C语言正序和逆序冒泡

  • 正序冒泡
  • 逆序冒泡
  • 源代码

都是将不规则数组从小到大排列;
正序排列即从左到右遍历;
逆序排列即从右到左遍历。

正序冒泡

void bubbleSort1(int arr[],int size) {//顺序for (int a = 0; a < size-1; a++){//最多size-1轮比较for (int b = 0; b < size - 1 - a; b++){if (arr[b ]>arr[b+1]){int c = arr[b ];arr[b] = arr[b+1];arr[b+1] = c;}}}
}

元素是从右到左依次来确定的。每一次循环选出当前最大的放在右边。

逆序冒泡

void bubbleSort2(int arr[], int size) {//逆序for (int a = 0; a < size-1; a++) {for (int b = size - 1; b > a; b--) {if (arr[b - 1] > arr[b]) {int tmp = arr[b - 1];arr[b - 1] = arr[b];arr[b] = tmp;}}}
}

元素是从左到右依次来确定的。每一次循环选出当前最小的放在左边。

源代码

主要是区分两种遍历的区别,他们的变化过程也不相同

#include <stdio.h>
#include <stdlib.h>
#pragma warning (disable:4996)void bubbleSort1(int arr[],int size) {//顺序for (int a = 0; a < size-1; a++){//最多size-1轮比较for (int b = 0; b < size - 1 - a; b++){if (arr[b ]>arr[b+1]){int c = arr[b ];arr[b] = arr[b+1];arr[b+1] = c;}}}
}void bubbleSort2(int arr[], int size) {//逆序for (int a = 0; a < size-1; a++) {//最多size-1轮比较for (int b = size - 1; b > a; b--) {if (arr[b - 1] > arr[b]) {int tmp = arr[b - 1];arr[b - 1] = arr[b];arr[b] = tmp;}}}
}
int main(){int arr[] = { 2, 5, 8, 3 ,7, 9};bubbleSort2(arr,sizeof(arr)/sizeof (arr[0]));//直接改变函数名即可。for (int a = 0; a < sizeof(arr) / sizeof (arr[0]); a++){printf(" %d", arr[a]);//2 5 8 3 7 9--2 3 5 7 8 9;}system("pause");return 0;
}

两个结果一样如图:

冒泡排序正序逆序例子相关推荐

  1. 正序 逆序写 java_C語言版和JAVA版 把一個字節正序(高位在前)轉為逆序(低位在前) 和 逆序轉為正序...

    一.C語言版 把一個字節正序(高位在前)轉為逆序(低位在前) 和 逆序轉為正序 // xhrrj.cpp : Defines the entry point for the console appli ...

  2. 正序 逆序写 java_C语言版和JAVA版 把一个字节正序(高位在前)转为逆序(低位在前) 和 逆序转为正序...

    一.C语言版 把一个字节正序(高位在前)转为逆序(低位在前) 和 逆序转为正序 // xhrrj.cpp : Defines the entry point for the console appli ...

  3. c语言任意整数正序输出,C语言—正序,逆序输出任意整数的每一个数字

    从2016年大一进校进入计算机专业也有一段时间了,对这个行业也有了自己的理解和想法,从中我感受到了计算机的特别,从代码中也能发现属于自己的乐趣,也坚定了我在这条道路上走下去的信心. 为了能更好的和网上 ...

  4. 链表详解(单链表、双向链表、链表逆序)

    目录 线性表 顺序存储结构 链式存储结构 单链表 单链表定义 单链表基本操作(仅供参考) 实例 循环单链表的状态图 双向链表 双向链表定义 双向链表特点 双向链表基本操作(仅供参考) 实例 双向链表的 ...

  5. java list逆序_Java的数组和list升序,降序,逆序函数Collections.sort和Arrays.sort的使用...

    list升序,降序,逆序 Listlist =new ArrayList(); //如果list是 5 7 2 6 8 1 4 1.升序: Collections.sort(list) //list: ...

  6. C语言的单链表逆序和指定范围逆序

    文章目录 前言 逆序 指定范围逆序 源码实现 前言 关于链表的逆置,是考察对链表指针的理解.知道了如何不实用额外空间,同时使用O(n)复杂度对链表进行逆序之后将会对链表有好理解. 同时关于如何在指定范 ...

  7. while正逆序的测试结果

    又是对性能验证的一个例子.测试代码如下: public function run():void{var start:int = getTimer();var i:int = max;while(--i ...

  8. 题库练习7(最小公倍数、求立方根、字符串逆序、记负均正、字符串分割)

    1. 求最小公倍数 import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new ...

  9. codeforces1303 F. Number of Components(并查集+添_正序、删_逆序)

    F. Number of Components 并查集,每次修改考虑的是这个修改带来的贡献,就是和相邻颜色的对比,如果不考虑先不考虑颜色覆盖,那么添加颜色首先会产生一个新的连通块,然后考虑合并,每合并 ...

最新文章

  1. 「每周CV论文推荐」 初学深度学习活体与伪造人脸检测必读的文章
  2. freeimage边缘检测
  3. Django日志信息路径的设置
  4. 面试系列第1篇:常见面试题和面试套路有哪些?
  5. 动态规划 —— 背包问题 P02 —— 完全背包
  6. Linux内存管理:反向映射机制(匿名页,文件页和ksm页)
  7. 再好好聊聊 HTTP 里的 Cookie | 实用 HTTP
  8. URLRewiter使用
  9. Linux中删除文件夹和文件的命令
  10. Windows PowerShell 2.0语言开发之脚本块
  11. Python之爬虫-京东商品
  12. php 入库乱码,解决php 中文字符入库或显示乱码的简单示例
  13. 用小学的试题测试你,换个脑袋吧~~~
  14. 播放.avi后缀视频报出0xc00d5212,编码格式不支持
  15. qpython3l下载_QPython3下载
  16. 推荐 15个 React 图标库
  17. java如何让坦克动起来_[笔记]基于java的坦克大战游戏实现思路
  18. OM_销售订单的四个主要环节和每个环节用到的常用表
  19. c语言中常量有何作用,正确的C语言常量是什么?
  20. JavaScript设计模式之策略模式(学习笔记)

热门文章

  1. 卧槽,javaCV不到十行代码实现图片OCR文字识别
  2. 仿《广州从化区慢性病地理信息平台》项目研发总结
  3. vscode之vue文件格式化代码无效怎么办
  4. wps批量图片居中,编号
  5. 公共自行车点查询_基于预测信息的公共自行车查询系统设计
  6. 4x root 红米_小米红米Note4X获取root权限教程
  7. 今天准备出发去珠海横琴,去长隆海洋乐园看鲨鱼宝宝了
  8. DETR3D模型源码导读 MMDetection3D构建流程
  9. 获取淘宝商品分类详情API,抓取淘宝全品类目API接口分享(代码展示、参数说明)
  10. [重要笔记]路由器的包转发操作(全面认识路由器)