《算竞(紫书)》笔记1 STL入门

本文是《算法竞赛入门经典(紫书)》笔记的第一部分,主要介绍了STL的基础知识,包括排序、vector、set、map、stack、queue和priority_queue的使用。通过实例展示了如何利用STL进行数组排序、管理不定长数组、操作集合和映射,以及实现栈、队列和优先队列的数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《算竞(紫书)》笔记1 STL入门


16340040
SDCS


目录


1.某些抢开头的废话

作为一个有基础的小白(在有基础行列中比较小白了),在高中学C++的时候,完全没有接触过STL(是不是很小白!)。毕竟,没有学过STL的C++学习之路是不完美的,甚至还有人偏激说不学STL你学C++干啥子啊!(hhhha这可不是我说的啊)所以,为了在小白面前更大神,为了在大神面前不那么小白,我觉得学学STL啦hhhhhhha。

《算法竞赛入门经典(第二版)》(封面紫白色,故人称紫书)是刘汝佳编著的一本算法入门经典之作,也进行ACM比赛的一本竞赛入门书籍。在我询问算法入门的书籍时,很多大神都推荐这本,所以我以这本书籍作为学习STL的阅读资料。(当然,我可不是在安利哦hhhhhha)

2 STL

什么是STL?STL,Standard Template Library,标准模板库。STL是早期惠普实验室为了简化程序员在处理数据结构等问题时候的工作而开发的模板库,早期版本很多,后来被加入C++标准1,成为C++重要的一部分。

2.1 排序

STL在头文件algorithm里提供了函数sort(arr_begin,arr_end),用于进行数组排序,arr_begin是数组第一个元素的地址,arr_end是数组最后一个元素的地址。

下面,输入两行数,第一行输入数n,第二行输入n个数,将这n个数进行从小到大排序,并输出排序后的结果。

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int n;
    cin >> n;
    int num[n];
    for (int i = 0; i < n; i++)
        cin >> num[i];
    sort(num, num + n);
    cout << num[0];
    for (int i = 1; i<n; i++)
        cout << ' ' <<num[i];
    cout << endl;
    return 0;
}
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值