冒泡排序(Bubble Sort)(代码+动画)

2023-11-18

重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。

1.1 算法描述

  • 比较相邻的元素。如果第一个比第二个大,就交换它们两个;
  • 每次排完,最后的元素应该会是最大的数;
  • 总共比较数组长度-1次。

1.2 动画演示

 1.3代码实现

//无函数实现
#include<iostream>
using namespace std;
int main(){
	int arr[10] = {1,2,4,6,7,4,2,8,5,3};
	for(int i = 0 ; i < 9 ; i ++){  //总共要比较的次数,一共是9次 
		for(int j = 0 ; j < 10-1-i ; j++){  //每一次要比较的次数  
			if(arr[j]>arr[j+1]){
				int temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp ;
			}
		}
	}
	for(int c = 0 ; c < 10 ; c++){  //循环打印 
		cout<<arr[c]<<"\t";
	}
    return 0 ;
	} 
//函数实现
#include<iostream>
using namespace std;
void bubbleSort(int *arr , int len){
	for(int i = 0 ; i < len-1 ; i ++){  //总共要比较的次数,一共是9次 
		for(int j = 0 ; j < len-1-i ; j++){  //每一次要比较的次数  
			if(arr[j]>arr[j+1]){
				int temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp ;
			}
		}
	}
} 
void printarr(int arr[]){
	for(int i = 0 ; i < 10 ;i++){
		cout<<arr[i]<<"\t";
	}
}
int main(){
	int arr[10] = {1,2,4,6,7,4,2,8,5,3};
	bubbleSort( arr , 10);
	printarr(arr);
    return 0 ;
	}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

冒泡排序(Bubble Sort)(代码+动画) 的相关文章

  • java中输入与输出的方法总结怎么写

    本文主要为大家总结了Java中输入输出的三种方法 并通过实例详细讲解了这些方法的使用方法 需要的朋友可以参考一下 目录 输入法 扫描仪 第一输入法 第二输入法 JOptionPane 第三输入法 io 控制台输出方法 第一个输出方法 Sys

随机推荐

  • 【Unity】自带的录屏插件Recorder

    目录 Recorder简介 Recorder导入 Recorder使用 Recorder简介 Recorder是Unity官方的录屏插件 可以直接录制Game窗口 还可以录制不同相机的视图 不仅可以直接生成视频 帧动画图 还可以制作gif和
  • 用c语言顺序表实现栈

    用c语言顺序表实现栈 栈 一种特殊的线性表 其只允许在固定的一端进行插入和删除元素操作 进行数据插入和删除操作的一端 称为栈顶 另一端称为栈底 栈中的数据元素遵守后进先出LIFO Last In First Out 的原则 压栈 栈的插入操
  • typescript 使用对象或数组的值或键创建联合类型

    前言 实际开发中我需要用到太多的键值对 并且有相当一部分情况下 键名是一个联合 而且还是某个数组的联合 然而早期 TS 对这样的联合实现并不是很理想 这几天又翻了翻 Stack Overflow 发现很多新答案 对此整理一下 后面的内容最主
  • MySQL必知必会 教材数据库的导入

    在折腾了两天以后 终于靠着网友的只言片语得悟了 必知必会里面有两个教材文档 都是 sql格式的 但网上给出的 成功 导入代码都是 CREATE DATABASE create USE create SOURCE 文档所在全路径 create
  • 模糊聚类在负荷实测建模中的应用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1 模糊聚类方法 1 2 模糊聚类分析步骤 2 运行结果 3 参考文献 4 Matlab代码实现 1
  • 2022年4月23日--2022年4月29日(osgEarth调试+UE4视频教程+ogreRenderSystem源码抄写,本周10小时,共1300小时,剩下8700小时)

    目前 UE4视频教程进行到了mysql 1 1 tf1 2 1 oss 4 2 多线程 1 1 蓝图反射 1 2 ogreRenderSystem的GL部分3965行 含注释 纯代码2459行 每天300行 计划14天完成 计划如下 周一
  • hexo博客文章置顶功能实现的两种方法

    写在前面 本文主要描述了如何实现hexo文章置顶功能 讲述了通过修改源码和通过更改插件两种方式实现 以及如何添加置顶显示 文章可能还有很多不足 请大家谅解 欢迎大佬提意见 本文使用的东西 win10电脑 hexo 4 0 0 文章目录 写在
  • Java后端进行经纬度点抽稀聚合,HTML呈现及前端聚合实现点聚合~

    Java后端进行经纬度点抽稀聚合 HTML呈现及前端聚合实现点聚合 1 效果图 1 1 前端实现聚合及呈现 1 2 后端实现点聚合 前端渲染呈现效果图 2 原理 3 源码 3 1 前端JS实现点聚合及呈现源码 3 2 后端点聚合 返回geo
  • SOFA Boot 整合SOFA RPC 、SOFA Registry

    参考资料 https www wenjiangs com doc dc7xvpxh https www sofastack tech projects sofa rpc getting started with rpc SOFA Stack
  • Transformer时间序列预测

    介绍 提示 Transformer decoder 总体介绍 本文将介绍一个 Transformer decoder 架构 用于预测Woodsense提供的湿度时间序列数据集 该项目是先前项目的后续项目 该项目涉及在同一数据集上训练一个简单
  • 小程序实现身份证取景框拍摄

    身份证取景框的实现主要是借助于camera 组件及cover view组件 先看下案例 wxml代码
  • Ubuntu 虚拟机环境下配置 Clang/LLVM

    流程 从本质上讲 Ubuntu 环境下配置 Clang LLVM 与 VS 环境下的配置过程并无本质区别 Ubuntu 环境中具体流程如下所示 以 LLVM 4 0 0 为例 从官网 LLVM Download Page 下载 Clang
  • 源码方式向openssl中添加新算法完整详细步骤(示例:摘要算法SM3)【非engine方式】

    openssl简介 openssl是一个功能丰富且自包含的开源安全工具箱 它提供的主要功能有 SSL协议实现 包括SSLv2 SSLv3和TLSv1 大量软算法 对称 非对称 摘要 大数运算 非对称算法密钥生成 ASN 1编解码库 证书请求
  • rz: xxxxxxx removed

    今天使用的好好的 突然不能使用rz上传文件了 并且报了一个错误 后面尝试使用命令rz be替换rz上传以后文件正常上传了 关键时刻还是很耽误时间的
  • 国内DNS首选

    配置最快的DNS 为了提高网页的访问打开速度我们可以配置一些解析速度较快的dns 下面作者搜集了一些常用的DNS地址 可以根据自己所在地区可以选择不同的dns 首先可以在我们的客户端打开终端命令行工具测试一些 去ping 一下下面的这些dn
  • java图片上传服务器返回访问地址

    application xml 单个数据的大小 multipart maxFileSize 10Mb 总数据的大小 multipart maxRequestSize 10Mb 文件上传目录 window是d e f盘 linux是 注意Li
  • Ubuntu 64位编译32位程序

    title Ubuntu 64位编译32位程序 背景 一般情况下 一个平台上只能编译当前平台对应的应用程序 比如 64位平台编译64位应用程序 但是随着64位平台的普及 多数采用了64位操作系统 而有时又基于某些原因需要编译出32位的应用程
  • 数学公式公式获取工具 Mathpix snipping Tool

    先上下载地址 链接 https pan baidu com s 1Ac9 f9vdeuLGD hUburYgg 提取码 6e3z 使用 ctrl alt m 截取公式 如图 复制LaTeX 然后要用上Typora 下载地址 Typora 下
  • Android开发中遇到mBluetoothAdapter.startDiscovery()搜索不到任何蓝牙设备

    最近在更新开发公司的APP应用程序 版本已经都开发完成了 准备做发布的时候 突然我们的一个程序员反馈 在他的手机上测试 APP程序无法搜索到任何的蓝牙设备 于是我就懵逼了 因为APP程序已经在Android 6 0 9 0的几台真机上都测试
  • 冒泡排序(Bubble Sort)(代码+动画)

    重复地走访过要排序的数列 一次比较两个元素 如果它们的顺序错误就把它们交换过来 1 1 算法描述 比较相邻的元素 如果第一个比第二个大 就交换它们两个 每次排完 最后的元素应该会是最大的数 总共比较数组长度 1次 1 2 动画演示 1 3代