7.24 C/C++蓝桥杯 | 排序算法

get新知识:

fixed、setprecision(n):

cout<<fixed<<setprecision(2) <<1.0*sum/n;

在 C++ 中,fixed 和 setprecision 都是用于控制浮点数输出格式的操纵符(manipulator),需要包含头文件 <iomanip> 才能使用。

  1. setprecision(n):设置浮点数输出的有效数字位数或小数位数,具体行为取决于是否使用了 fixed。 不使用 fixed 时,setprecision(n) 控制的是总有效数字位数(包括整数部分和小数部分)。使用 fixed 时,setprecision(n) 专门控制小数部分的位数。
  2. fixed:是一个格式标记,用于将浮点数输出切换为固定小数点表示法,此时 setprecision(n) 就会明确表示保留 n 位小数。

在你提供的代码 中:

先通过 fixed 切换到固定小数点模式

再用 setprecision(2) 指定保留 2 位小数

最终输出的结果会是一个保留两位小数的浮点数(例如 3.14、5.60 等)

举例说明: 如果 1.0*sum/n 的计算结果是 3.14159,这段代码会输出 3.14; 如果结果是 5.6,会输出 5.60(自动补全两位小数)。

冒泡排序:

  • 前一个与后一个比较,大的换到后边。第一次把最大数移到末尾,范围缩小1
  • 前一个与后一个比较,大的换到后边。第一次把最大数移到末尾,范围缩小1
  • 前一个与后一个比较,大的换到后边。第一次把最大数移到末尾,范围缩小1
  • 重复上过程直至范围为0
java 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[1000];
int main(){
	int n; cin >> n;
	for(int i=1; i <=n; i++)cin>>a[i];
	
	for(int i=n;i>=1;i--) {
		for(int j=1;j<i-1;j++){
			if(a[j]>a[j+1])swap(a[j],a[j+1]);
		}
	}
	
	for(int i=1;i<=n;i++)cout<<a[i]<<' ';
	return 0;
}

选择排序:

与冒泡排序类似,但是是

  • 直接找出最大的值的id,与最末尾交换位置,范围缩小1
  • 直接找出最大的值的id,与最末尾交换位置,范围缩小1
  • .重复过程直至范围0..
java 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[1000];
int main(){
	int n; cin >> n;
	for(int i = 1;i <= n; i++)cin >> a[i];
	 
	for(int i = n; i>=1; i--){
		int id = 0;
		for(int j = 1; j <= i; j++){
			if(a[j] > a[id]) id = j;
		}
		swap(a[i],a[id]);
	}
	
	for(int i = 1;i <= n; i++)cout << a[i] << ' ';
	return 0;
} 

先发布吧,明天再更新

相关推荐
wuminyu24 分钟前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
longlongzihan29 分钟前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表
liulilittle41 分钟前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
Logic1011 小时前
C语言/数据结构欧几里得算法题解:长方形切割最大正方形——贪心划分计数
c语言·数据结构·算法·贪心算法·时间复杂度·空间复杂度·欧几里得算法
无忧.芙桃1 小时前
C++语言原理与实践(十二):list类的底层实现
c++·windows·list
沫璃染墨1 小时前
《Linux工程实践篇(二):线程池实战——从线程安全单例到完整源码实现》
linux·开发语言·c++·单例模式·设计模式·系统架构
有只小白叫岳飒2 小时前
c++智能指针 unique_ptr与函数调用
c++
Leo.yuan2 小时前
Kafka+Flink拼凑,还是FineDataLink 5.0一体化?实时数据处理的两种思路
c++·mfc
老王爱玩车3 小时前
文件操作从打开到缓冲区
c语言·开发语言·学习
INGNIGHT3 小时前
944 · 最大子矩阵(前缀和)
数据结构·c++·算法