冒泡排序简单操作模版及实例分析
时间:2022-05-07
本文章向大家介绍冒泡排序简单操作模版及实例分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 #include <bits/stdc++.h>
2 using namespace std;
3 inline int read()
4 {
5 int x=0,f=1;
6 char ch=getchar();
7 while(ch<'0'||ch>'9')
8 {
9 if(ch=='-')
10 f=-1;
11 ch=getchar();
12 }
13 while(ch>='0'&&ch<='9')
14 {
15 x=x*10+ch-'0';
16 ch=getchar();
17 }
18 return x*f;
19 }
20 inline void write(int x)
21 {
22 if(x<0)
23 {
24 putchar('-');
25 x=-x;
26 }
27 if(x>9)
28 {
29 write(x/10);
30 }
31 putchar(x%10+'0');
32 }
33 int a[100];
34 int n;
35 int main()
36 {
37 cin>>n;
38 for(int i=1;i<=n;i++)
39 cin>>a[i];
40 //从小到大排序
41 /*
42 for(int i=1;i<=n-1;i++)
43 {
44 for(int j=1;j<=n-i;j++)
45 {
46 if(a[j]>a[j+1])
47 swap(a[j],a[j+1]);
48 }
49 }
50 */
51 //从大到小排序
52 for(int i=1;i<=n-1;i++)
53 {
54 for(int j=1;j<=n-i;j++)
55 {
56 if(a[j]<a[j+1])
57 swap(a[j],a[j+1]);
58 }
59 }
60 for(int i=1;i<=n;i++)
61 cout<<a[i]<<" ";
62 return 0;
63 }
实例分析:
1 //题意:输入一个整数n,表示有n个人,接下n行每行对应一个人名和此人的成绩,按照成绩从大到小的顺序输出人名
2 //分析:冒泡排序的简单使用
3 #include <bits/stdc++.h>
4 using namespace std;
5 inline int read()
6 {
7 int x=0,f=1;
8 char ch=getchar();
9 while(ch<'0'||ch>'9')
10 {
11 if(ch=='-')
12 f=-1;
13 ch=getchar();
14 }
15 while(ch>='0'&&ch<='9')
16 {
17 x=x*10+ch-'0';
18 ch=getchar();
19 }
20 return x*f;
21 }
22 inline void write(int x)
23 {
24 if(x<0)
25 {
26 putchar('-');
27 x=-x;
28 }
29 if(x>9)
30 {
31 write(x/10);
32 }
33 putchar(x%10+'0');
34 }
35 struct Student
36 {
37 char score;
38 char name[20];
39 }p[100];
40 int main()
41 {
42 int n;
43 cin>>n;
44 for(int i=1;i<=n;i++)
45 cin>>p[i].name>>p[i].score;
46 for(int i=1;i<=n-1;i++)
47 {
48 for(int j=1;j<=n-i;j++)
49 {
50 if(p[j].score<p[j+1].score)
51 swap(p[j],p[j+1]);
52 }
53 }
54 for(int i=1;i<=n;i++)
55 cout<<p[i].name<<endl;
56 return 0;
57 }
58 /*
59 5
60 huhu 5
61 haha 3
62 xixi 5
63 hengheng 2
64 gaoshou 8
65 */
时间复杂度为O(n^2)
- 硬盘安装 CoreOS 三节点集群
- 从javascript脚本混淆说起
- CoreOS etcd3 集群实践
- Spring MVC学习教程之流程表单提交,3步实现这个功能
- PXE 模式启动 CoreOS
- iPXE 模式启动 CoreOS(简单、推荐使用)
- CoreOS 已废弃组件
- Docker Compose version 3 使用详解
- Virtualbox 安装 Alpine Linux
- LinuxKit 使用
- Docker 实践遇到的问题(持续更新)
- GitHub Pages 常见问题
- SpyDealer深度剖析:一个广泛针对中国手机APP进行信息窃取的恶意软件
- Docker + Drone CI/CD 实践
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MySQL复制全解析 Part 5 MySQL GTID的格式和存储
- Mycat分库分表全解析 Part 1 数据库切分概述
- RoarCTF2019-EasyJava
- ACTF2020新生赛-BackupFile
- DB2 Linux平台安装 Part 5 数据库常见参数配置
- GXYCTF2019-PingPingPing
- 利用cloudflareWorkers制作Google镜像站
- MySQL information_schema详解 COLLATIONS
- 极客大挑战2019-Knife
- DB2备份还原相关操作
- MySQL复制全解析 Part 8 MySQL Auto-Positioning
- Redis 5.0.8 主从搭建
- Linux 修改网卡名称及mac地址
- MySQL Galera Cluster全解析 Part 10 grastate.dat文件详解
- MySQL MHA部署 Part 7 MHA手动切换测试