首页 > 其他分享 >寒假集训笔记 | | 第一课

寒假集训笔记 | | 第一课

时间:2025-01-21 17:53:31浏览次数:1  
标签:sort arr 函数 int 第一课 寒假 排序 集训 指针

C++STL --第一课

C标准库常用函数

  • <cstring>

memset() 暴力清空

char str[10];
memset(str,0,sizeof(str));
  • <cmath>

三角函数、指数函数、浮点取整函数

  • <cstdlib>

qsort() C语言快排

rand() 随机数

malloc() free() C语言动态内存分配

  • <cctype>

isdigit() isalpha() 判断字符是否为数字、大小写字母


C++标准库

头文件

<vector>

alt text

<string>

alt text

alt text

<algorithm>

#include<algorithm>

与上面两个头文件不同,这个头文件没有定义新的类型,而是定义了很多使用的算法,极大简化了代码量。

  • sort快速排序

    sort() 函数接收三个参数:排序开始指针、排序结束指针、排序依据(函数)

int arr[] = {2,3,1,5,4};
int n = 5;
//参数:
//排序开始指针
//排序结束指针(最后一个元素的下一个元素的指针)
//复杂度O(nlogn)
sort(arr, arr + n);
for(int i = 0; i < n; i++)
{
    printf("%d\n", arr[i]);
}

对于一个vector数组:

vector<int> arr {2, 3, 1, 4, 5};

int main() {
	sort(arr.begin(), arr.end());//使用取迭代器方法
	for (int i = 0; i < 5; i++) {
		printf("%d ", arr[i]);
	}

	return 0;
}

第三个参数传入一个函数,可以是自己定义的比较函数,方便实现升降序选择。

int cmp(int a, int b)
{
    return a < b;//结果的数组升序排列
}
//....
	sort(arr.begin(), arr.end(), cmp);

alt text

alt text

alt text

如何学习

标签:sort,arr,函数,int,第一课,寒假,排序,集训,指针
From: https://www.cnblogs.com/Oakslab/p/18683999

相关文章