首页 > 编程语言 >C++排序问题

C++排序问题

时间:2024-04-17 22:22:18浏览次数:31  
标签:include int namespace C++ 问题 角标 排序 define

冒泡排序

若得到一个从小到大的数组
例如:3 5 2 7 4 8 1
角标:1 2 3 4 5 6 7
就是角标1和角标2比,若1大于2,就交换位置,然后角标2和角标3比,若2大于3,就交换位置
第一趟:
3 2 5 4 7 1 8
第二趟:
2 3 4 5 1 7 8
以此类推。。。。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define N 100
int main() {
	int a[N];
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	for (int j = 1; j <= n; j++) {
		for (int i = 1; i <= n - j; i++) {
			if (a[i] > a[i + 1]) {
				int t = a[i];
				a[i] = a[i + 1];
				a[i + 1] = t;
			}
		}
	}
	for(int i=1;i<=n;i++){
        cout<<a[i]<<' ';
	}
	return 0;
}

//注意数组的起始位置,和冒泡排序的含义

/*第一个循环是排序的次数,第二次是具体排序的过程,每排一次序就可以有一个数归位
所以下一次排序时就可以少进行一次比较*/

选择排序:

比如:5 6 3 5 1 2
角标:1 2 3 4 5 6

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define N 100
//选择排序,从大到小
int main() {
	int a[N];
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 0; j <= n ; j++) {
			if (a[i] > a[j]) {
				int t = a[i];
				a[i] = a[j];
				a[j] = t;
			}
		}
	}
	for (int i = 1; i <= n; i++) {
		cout << a[i]<<' ';
	}
	return 0;
}

标签:include,int,namespace,C++,问题,角标,排序,define
From: https://www.cnblogs.com/sly-345/p/18140867

相关文章

  • 腾讯音乐:说说Redis脑裂问题?
    Redis脑裂问题是指,在Redis哨兵模式或集群模式中,由于网络原因,导致主节点(Master)与哨兵(Sentinel)和从节点(Slave)的通讯中断,此时哨兵就会误以为主节点已宕机,就会在从节点中选举出一个新的主节点,此时Redis的集群中就出现了两个主节点的问题,就是Redis脑裂问题。脑裂问题影响Redis......
  • openGauss Slow-Query-Diagnosis-慢SQL根因分析常见问题处理
    常见问题处理如果用户对没有执行过的慢SQL执行交互式诊断命令,则无法给出诊断结果。exporter指标采集功能没有启动时运行慢SQL诊断功能,此时功能无法正常运行。配置文件中的参数重新设置后,需要重新启动服务进程才能生效。使用慢SQL的交互诊断功能时,工具基于RPC和数据采集服务获......
  • drf之认证、权限、频率控制、排序、过滤、分页
    【认证】models.py1fromdjango.dbimportmodels234#Createyourmodelshere.5classUser(models.Model):6username=models.CharField(max_length=50)7password=models.CharField(max_length=50)8user_type=models.IntegerFiel......
  • openGauss Prometheus-Exporter组件常见问题处理
    常见问题处理提示需要用户提供--ssl-keyfile与--ssl-certfile选项:上述exporter默认采用Https模式通信,因此需要用户指定证书及其私钥文件的路径。相反,如果用户只想采用Http模式,则需要显性给定--disable-https选项,从而禁用Https协议。提示用户需要输入PEM密码(EnterPEMpass......
  • openGauss X-Tuner-参数调优与诊断常见问题处理
    常见问题处理数据库实例连接失败:请检查数据库实例的情况,是否数据库实例出现了问题或安全权限配置(pg_hba.conf文件中的配置项)不正确。重启失败:请检查数据库实例健康情况,确保数据库实例工作正常。跑TPC-C作业时发现性能越来越慢:TPC-C等高并发场景下的压力测试,往往伴随着大量的数......
  • [9] UE C++ Snake
    思维导图背景地图制作创建瓦片集角色素材GameMode功能游戏开始控制食物的生成食物生成池(性能优化)/**形参如果是一个引用,且没有添加const关键字,代表实参想要借助形参修改值*param是否指定生成时候的地址*/voidASnakeGameModeBase::SpawnFood(FVector&Spaw......
  • 解决加载GPT2(Tensorflow预训练模型)的Linear权重到PyTorch的Linear权重 形状不匹配(互为
    解决报错内容:RuntimeError:Error(s)inloadingstate_dictforPyTorchBasedGPT2:sizemismatchfortransformer.h.0.attn.c_attn.weight:copyingaparamwithshapetorch.Size([768,2304])fromcheckpoint,theshapeincurrentmodelistorch.Size([2304,768]).........
  • 常见问题——VS调试出现:未加载mscorlib.pdb 的页面
    问题:VS在调试程序的时间,出现单独一个报错页面:未加载mscorlib.pdbmscorlib.pdb包含查找模块mscorlib.dll的源文件所需的调试信息解决方法:点击调试=>选项=>调试=>勾选:常规点击启用我的代码=》勾选:启用时若没有用户代码则发出警告(仅限托管)参考:https://www.cnblogs.com/Can-da......
  • 前端项目安装node-sass依赖问题解决
    前端项目安装依赖node-sass问题解决记录:(项目中node版本14.16.0node-sass版本4.14.1)问题1:pnpnrunall:install后报错MSBUILD:errorMSB3428:解决方法:需要安装npminstall--globalwindows-build-tools1.1、npm全局安装windows-build-tools1.1安装过程中可能会出现......
  • 某些网站的内容无法复制甚至无法选择的问题
    对于无法复制的情况,一般是javascript控制的,在浏览器禁用即可。谷歌浏览器中,设置-隐私和安全-网站设置,拉到下方可以在‘内容’下看到javascript,选择不允许网站使用javascript最省事的是安装一个谷歌插件,一键禁用或启动javascript对于无法选择的情况,一般是通过CSS属性设置user......