0
点赞
收藏
分享

微信扫一扫

蓝桥杯 基础练习 数列排序

爱动漫建模 2022-01-09 阅读 57
蓝桥杯c++

目录

1.题目信息

试题编号:BASIC-13
试题名称:数列排序
关键字: 数组 排序

资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9

2.问题分析

数组排序。

3.基本思路

数列定义为int类型一维数组,使用排序后遍历输出即可。

4.代码执行

冒泡排序

	for (int i = 0; i < n - 1; i++)
	{
		for (int j = 0; j < n - 1 - i; j++)
		{
			if (a[j] > a[j + 1])
			{
				t = a[j + 1];
				a[j + 1] = a[j];
				a[j] = t;
			}
		}
	}

5.源代码

#include<iostream>
using namespace std;

int main()
{
	int n, a[200];
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> a[i];
	}
	int t = 0;
	for (int i = 0; i < n - 1; i++)
	{
		for (int j = 0; j < n - 1 - i; j++)
		{
			if (a[j] > a[j + 1])
			{
				t = a[j + 1];
				a[j + 1] = a[j];
				a[j] = t;
			}
		}
	}
	for (int i = 0; i < n - 1; i++)
	{
		cout << a[i] << " ";
	}
	cout << a[n - 1] << endl;
	return 0;
}

6.小结

  1. 掌握冒泡排序,最基础的一种排序类型。
  2. swap函数:交换函数
    好处:不用担心交换变量精度的缺失,无需构造临时变量,不会增加空间复杂度,swap 包含在命名空间std 里面。
    swap(a,b);(交换两个数)
    swap(a[i] = b[j]);(交换两个位置上的变量)
    则冒泡排序可改为:
	for (int i = 0; i < n - 1; i++)
	{
		for (int j = 0; j < n - 1 - i; j++)
		{
			if (a[j] > a[j + 1])
			{
				swap(a[j], a[j + 1]);
			}
		}
	}
  1. sort函数:用于C++中,对给定区间所有元素进行排序。头文件是#include 。
    (1)第一个参数first:是要排序的数组的起始地址。
    (2)第二个参数last:是结束的地址(最后一个数据的后一个数据的地址)
    (3)第三个参数comp是排序的方法:可以是从升序也可是降序。如果第三个参数不写,则默认的排序方法是从小到大排序。
    升序:sort(begin,end,less());
    降序:sort(begin,end,greater()).
    拓展链接:C++sort()函数用法讲解总结
举报

相关推荐

0 条评论