栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++中常用的库函数 (自用)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++中常用的库函数 (自用)

常用的库函数

一.前言二.内容

1.sort()

sort()函数应用 三.小声bb四.更新日志

一.前言

在刷题过程中,总能看到dl用一些库函数,简化算法,由此萌生慢慢学习整理常用的库函数的想法,本文目前仅为了自用而整理,欢迎指正。
(整理顺序按学习顺序,后续可能会调整 3.27 )

二.内容 1.sort()

作用描述: 对给定区间的所有元素进行排序,默认为升序,也可进行降序排序。
时间复杂度: n*logn (高于冒泡排序)
头文件: #include < algorithm >
函数声明:void sort(start,end,cmp)
说明:
start:排序的起始地址
end:数组结束地址的下一位
cmp:用于规定排序的方法(可不填,默认升序)
如果cmp返回结果为假, 那么函数就会将他们互换位置;

如果cmp返回结果为真,就会保持原来位置不变。
补充:(其余sort类函数)

实例:
1.不加cmp,默认升序(从小到大)

#include 
#include 
using namespace std;
int main()
{
	int a[7] = { 2,6,9,8,4,3,2 };
	for (int i = 0; i < 7; i++)
		cout << a[i] << " ";
	sort(a, a + 7);
	cout << endl;
	for (int i = 0; i < 7; i++)
		cout << a[i] << " ";
	return 0;
}


2.加上cmp,实现从大到小排序

#include 
#include 
using namespace std;
bool cmp(int a, int b)
{
	return a > b;  //返回值为假,说明a<=b,交换,使其从大到小排序
}
int main()
{
	int a[7] = { 2,6,9,8,4,3,2 };
	for (int i = 0; i < 7; i++)
		cout << a[i] << " ";
	sort(a, a + 7,cmp);
	cout << endl;
	for (int i = 0; i < 7; i++)
		cout << a[i] << " ";
	return 0;
}


3.结构体排序(已更新)
//实现目标:将a按升序排序,如果a相同再按b降序排序,b相同,则按c降序排列

#include 
using namespace std;    //结构体sort()排序
#include 

struct Node
{
	int a;
	int b;
	double c;
};

bool cmp(Node x, Node y)
{
	if (x.a != y.a)
		return x.a < y.a;
	if (x.b != y.b)
		return x.b > y.b;
	return x.c > y.c;
}

int main() 
{
	struct Node arr[4];
	arr[0] = { 3,4,3.15 };
	arr[1] = { 7,8,3.26 };
	arr[2] = { 5,9,3.8 };
	arr[3] = { 4,9,3.7 };

	for (int i = 0; i < 4; i++)
		cout << arr[i].a << " " << arr[i].b << " " << arr[i].c << endl;

	sort(arr, arr + 4, cmp);
	cout << "排序后:" << endl;
	for (int i = 0; i < 4; i++)
		cout << arr[i].a << " " << arr[i].b << " " << arr[i].c << endl;
	return 0;
}

sort()函数应用

题目跳转链接

三.小声bb

慢慢总结,慢慢进步~~

四.更新日志

2022.3.28 整理sort()及其题目

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783812.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号