基础算法
文章平均质量分 62
对基础算法做出详细的讲解,每篇博客包括对算法原理的解释以及习题的思路,代码,一些文章将给出算法模板,未来会每一个算法板块加入视频讲解。
辰chen
上海科技大学计算机科学与技术专业学硕
展开
-
ACM-ICPC算法汇总【基础篇】
本篇博客包含ACM,NOIP所涉及的基础算法,涵盖七个模块:基础算法,数据结构,搜索与图论,STL,数学知识(数论),动态规划,贪心。涵盖内容范围较为全面,是面向初学者的算法汇总,第八个章节是所涉及的算法板子,可以直接使用。因为是面向算法竞赛,本文的所有设计算法都是用C++进行实现的,不提供其他语言的代码,共涉及106道算法题目,以题代讲,在题目中理解算法的内涵。原创 2021-06-15 20:05:00 · 7602 阅读 · 11 评论 -
二分法
文章目录前言一、二分查找法[整数](C++):二、本题代码:三、二分查找法[浮点数](C++):二、本题代码:五、二分查找的代码模板:1.整数二分:2.浮点数二分模板:前言复习acwing算法基础课的内容,本篇为讲解基础算法:二分,关于二分查找法的时间复杂度的分析,以后会补充到本博客中,目前先鸽了一、二分查找法[整数](C++):这里结合具体的习题去讲解二分,并且给出代码模板:二分例题的链接:数的范围本博客给出本习题的截图:二、本题代码:代码如下:#include <iostre.原创 2021-04-18 16:17:17 · 1546 阅读 · 0 评论 -
前缀和算法
文章目录前言一、关于前缀和二、一维数组求前缀和1.求段区间前缀和2.例题:AcWing795. 前缀和AC代码三、二维数组求前缀和1.求S[i,j]2.求(x1,y1),(x2,y2)子矩阵的和3.例题:AcWing796. 子矩阵的和AC代码四、时间复杂度分析前言关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上.什么是前缀和:例如一个数组:a[1],a[2],a[3]…a[n],前缀和S[i]表示的是该数组的前i项的和,例如S[3] = a[1] + a[2] + a[3],S[i] =.原创 2021-04-18 22:35:54 · 18763 阅读 · 4 评论 -
差分
文章目录前言一、差分,差分数组1.什么是差分,差分数组2.如何得到差分数组3.差分数组的作用4.差分模板二、一维差分与二维差分1.一维差分例一:AcWing797. 差分AC代码2.二维差分例二:AcWing798. 差分矩阵AC代码二、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:差分,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上.一、差分,差分数组1.什么是差分,差分数组差分可以看做前缀和的逆运算,同前缀和一样,差分数组从1号位置点开始,假设我们有一个原.原创 2021-04-19 03:28:45 · 5746 阅读 · 8 评论 -
离散化
文章目录前言一、有关离散化二、离散化例题,模板,代码详解1.例题:AcWing 802. 区间和2.例题分析:遍历add数组:find 函数:处理前缀和数组:3.例题模板4.AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:差分,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上.一、有关离散化什么时候我们会用离散化去解题:例如存在这么一条 x轴,这条 x轴十分的长,例如≥1e7级别,这条x轴上有一些数,但是这些数十分的分散,一个1e8长度的轴上可能只有1e.原创 2021-04-19 15:28:56 · 985 阅读 · 0 评论 -
双指针算法
文章目录前言一、双指针算法概述二、双指针算法模板及例题1.模板2.AcWing799. 最长连续不重复子序列AC代码代码分析3.AcWing 800. 数组元素的目标和AC代码代码分析4.AcWing2816. 判断子序列AC代码代码分析三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:双指针算法,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上一、双指针算法概述这里的指针不是我们知道的 * ,这里的双指针是例如用 i 和 j 去维护一段区间,大致形式如:for.原创 2021-04-19 21:14:05 · 1414 阅读 · 1 评论 -
区间合并
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:区间合并,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdim.原创 2021-04-20 08:58:12 · 1189 阅读 · 5 评论 -
位运算
文章目录前言一、位运算习题,模板1.模板2.AcWing801. 二进制中1的个数AC代码二、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:位运算,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上,本博客所有习题和模板来自:ACWing算法基础课一、位运算习题,模板1.模板本模板来自:ACWing算法基础课求n的第k位数字: n >> k & 1返回n的最后一位1:lowbit(n) = n & -n2.AcWing801. .原创 2021-04-20 09:43:53 · 1121 阅读 · 2 评论 -
高精度运算
文章目录前言一、高精度运算概述二、高精度算法1. 高精度加法AcWing791. 高精度加法高精度加法模板AC代码2.高精度减法AcWing 792. 高精度减法3.高精度乘法AcWing 793. 高精度乘法4.高精度除法AcWing 794. 高精度除法三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:高精度运算,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上一、高精度运算概述我们都知道,我们定义一个数,不论是整数还是浮点数,它都是有范围的都是有限的,就拿u.原创 2021-04-20 15:41:50 · 2867 阅读 · 4 评论 -
链表
文章目录前言一、单链表1.单链表必备属性2.单链表的几种操作初始化在表头插入一个元素删除下标是k的点后面的一个点将x插入到下标为k的点的后面3.AcWing 826. 单链表AC代码二、双链表1.双链表必备属性2.双链表的几种操作初始化在第k个插入点的右边插入一个数x在第k个插入点的左边插入一个数x删除第k个点3.AcWing 827. 双链表AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:链表,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上一、单链表.原创 2021-04-20 22:52:48 · 1615 阅读 · 0 评论 -
数组模拟栈
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-04-21 13:20:54 · 1529 阅读 · 0 评论 -
数组模拟队列
文章目录前言一、关于队列二、队列的操作1.数组模拟队列必备属性2.向队尾插入一个元素x3.从对头弹出一个数4.查询对头元素5.判断队列是否为空三、例题, 代码1.AcWing 828. 模拟栈2.AC代码四、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:用数组模拟队列,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上一、关于队列在C++中,STL已经帮助我们实现队列,详细见这篇博客:(先鸽了),本篇博客中,讲解如何用数组去模拟栈,实现队列的一些功能.二、队列的操作原创 2021-04-21 16:40:54 · 1563 阅读 · 1 评论 -
单调栈
文章目录前言一、单调栈1.单调栈2.AcWing 830. 单调栈题目分析:AC代码二、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:用数组模拟单调栈,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、单调栈1.单调栈在单调栈中,元素都是按照从小到大排好序或者从大到小排好序的,关于用数组模拟栈见博客:用数组模拟栈,这里不做赘述,关于单调栈的应用和作用,我们由一道题目展开2.AcWing 830. 单调栈本题链接:AcWing 830. 单调栈本博客给出本原创 2021-04-21 19:00:56 · 975 阅读 · 0 评论 -
单调队列
文章目录前言一、单调队列1.单调队列2.AcWing 154. 滑动窗口题目分析:AC代码二、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:单调队列,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、单调队列1.单调队列同单调栈一样,在单调队列的元素中,同样也是按照从大到小或是从小到大的顺序进行排列的,有关单调栈,详见博客:单调栈,本博客关于单调队列是用数组模拟队列,如何用数组模拟队列见博客用数组模拟队列,这里不做赘述,关于单调队列的应用和作用,我们由一道题.原创 2021-04-21 21:22:24 · 1095 阅读 · 0 评论 -
KMP算法
文章目录前言一、KMP算法适用场景二、例题,模板1.模板2.AcWing 831. KMP字符串本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:KMP算法,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、KMP算法适用场景KMP算法就是能快速找到一个模板串是否有子串的算法,这里我们直接用题目去分析,就本人目前而言,KMP算法感觉是最难理解的算法,如果不能理解,建议背下来模板先用,后续再慢慢理解二、例题,模板1.模板本模板来自AcWi.原创 2021-04-22 03:49:53 · 1139 阅读 · 0 评论 -
Trie
文章目录前言一、Trie二、例题,代码1.AcWing 835. Trie字符串统计关于本题:AC代码2.AcWing 143. 最大异或对关于本题AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:Trie,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。(未写完)一、Trie能高效的插入和查找字符串的数据结构 -------yxc我们通过一个例子来说明什么是Trie:例如,现我们要存储这么几个字符串:abcdefabedface.原创 2021-04-22 20:08:07 · 940 阅读 · 0 评论 -
并查集
文章目录前言一、例题,代码1.AcWing 836. 合并集合本题分析AC代码2.AcWing 837. 连通块中点的数量关于本题AC代码3.AcWing 240. 食物链关于本题AC代码二、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:并查集,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、例题,代码1.AcWing 836. 合并集合本题链接:合并集合本博客给出本题的截图:本题分析如何合并两个集合:让它们的父节点相等刚开始对于每一个点都是一个单原创 2021-04-23 01:43:39 · 1478 阅读 · 0 评论 -
BFS
文章目录前言一、BFS是什么?二、例题,代码1.AcWing 844. 走迷宫本题分析AC代码2.AcWing 845. 八数码本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:BFS,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、BFS是什么?BFS即宽度优先搜索,用BFS存储的树中,遍历是一行一行遍历的,根据这个性质,如果每条边的权重都是一样的话,BFS算法具有最短路的性质,本文的BFS运用到了STL中的队列(queue),队列的详细做.原创 2021-04-25 23:27:35 · 1229 阅读 · 0 评论 -
DFS
文章目录前言一、DFS是什么?二、例题,模板1.AcWing842. 排列数字本题分析AC代码2.AcWing 843. n-皇后问题本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:DFS,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、DFS是什么?DFS即深度优先搜索,不同于BFS,DFS会一路走到头,然后再回溯,DFS可以搜到结果,但这个结果可能不是最优解,这个也是我们需要明确的.二、例题,模板1.AcWing842. 排列数字.原创 2021-04-26 12:52:35 · 1313 阅读 · 0 评论 -
Dijkstra
复习acwing算法基础课的内容,本篇为讲解基础算法:Dijkstra。Dijkstra的思路:通过n次遍历,每次找到没有确定最短距离的点,并拿这个点去更新其他未更新的点,堆优化版Dijkstra用到了堆,关于堆(优先队列STL)的用法见:STL—priority_queue,手写堆见这篇博客:数组模拟堆,下图是求最短路的不同情况对应的不同算法,图片来自:AcWing算法基础课原创 2021-04-29 17:02:16 · 1050 阅读 · 2 评论 -
bellman-ford
文章目录前言一、bellman-ford二、例题,代码AcWing 853. 有边数限制的最短路本题分析:AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:bellmen-ford,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、bellman-ford计算最短路算法的一种,相较于Dijkstra算法,它可以计算有负权边的最短路,下图来自ACWing算法基础课,关于Dijkstra算法的详细讲解,见博客:Dijkstra二、例题,代码AcW.原创 2021-04-29 21:14:58 · 928 阅读 · 0 评论 -
分数的加减乘除
文章目录前言一、分数的表示与化简1.分数的表示2.分数的化简二、分数的四则运算1.分数的加法:2.分数的减法3.分数的乘法4.分数的除法前言本文代码模板来自《算法笔记》,书籍如下图所示:一、分数的表示与化简1.分数的表示对于一个分式,我们把它写成假分式的形式struct Fraction{ //分数 int up, down; //分子,分母};我们对于一个分数,制定三项规则:① 保证down(分母)为非负数,如果一个分数是负数,我们要求它的分子为负;② 如果分.原创 2021-04-30 15:56:48 · 1733 阅读 · 1 评论 -
spfa
文章目录前言一、什么是spfa算法二、例题,代码1.AcWing 851. spfa求最短路本题分析AC代码2.AcWing 852. spfa判断负环本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:spfa,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、什么是spfa算法计算最短路算法的一种,spfa算法可以说是bellman-ford算法的算法优化版本,相较于Dijkstra算法,它可以计算有负权边的最短路,下图来自ACWing算法基.原创 2021-05-02 12:20:20 · 1144 阅读 · 0 评论 -
Floyd
文章目录前言一、什么是Floyd算法二、AcWing 854. Floyd求最短路本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:Floyd,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、什么是Floyd算法计算最短路算法的一种,相较于Dijkstra,bellman-ford,spfa,Floyd算法是计算多源最短路问题的算法,下图来自AcWing算法基础课:二、AcWing 854. Floyd求最短路本题链接:AcWing .原创 2021-05-02 15:09:11 · 1492 阅读 · 1 评论 -
染色法判定二分图
文章目录前言一、二分图二、AcWing 860. 染色法判定二分图本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:染色法判定二分图,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、二分图二分图当且仅当图中不含奇数环染色方法如图所示:我们在遍历图的过程中,需要用BFS或是DFS去遍历,在本文的AC代码中,展示的是用DFS去遍历二、AcWing 860. 染色法判定二分图本题链接:AcWing 860. 染色法判定二分图本博客给出.原创 2021-05-02 23:20:26 · 942 阅读 · 1 评论 -
匈牙利算法
文章目录前言一、匈牙利算法二、AcWing 861. 二分图的最大匹配本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:匈牙利算法,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、匈牙利算法下图来自:ACWing算法基础课匈牙利算法是用来寻找二分图最大匹配的算法具体实现方式下面做讲解:我们把两个集合分为男,女两个集合,其中的每一条黑线都意味着这一对儿男女之间有感情,我们要做的,是看看能最多有多少对男女能够实现配对,下面我们一步一步看:.原创 2021-05-03 12:45:08 · 829 阅读 · 2 评论 -
区间问题(贪心)
文章目录前言一、贪心二、例题,代码AcWing 905. 区间选点本题分析AC代码AcWing 908. 最大不相交区间数量本题分析AC代码AcWing 906. 区间分组本题分析AC代码AcWing 907. 区间覆盖本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:贪心——区间选点,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、贪心贪心:利益最大化,即找到最优的情况,贪心问题难在证明,即你可能能推断出这个题目的正确解法,但是这个解法下为.原创 2021-05-03 18:53:24 · 1262 阅读 · 0 评论 -
Huffman树(贪心)
文章目录前言一、贪心二、AcWing 148. 合并果子本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:贪心——Huffman树,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、贪心贪心:利益最大化,即找到最优的情况,贪心问题难在证明,即你可能能推断出这个题目的正确解法,但是这个解法下为什么就是最优解不好证明。二、AcWing 148. 合并果子本题链接:AcWing 148. 合并果子本博客给出本题截图本题分析本题用到了小根.原创 2021-05-03 19:36:53 · 899 阅读 · 0 评论 -
排序不等式(贪心)
文章目录前言一、贪心二、AcWing 913. 排队打水本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:贪心——排序不等式,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、贪心贪心:利益最大化,即找到最优的情况,贪心问题难在证明,即你可能能推断出这个题目的正确解法,但是这个解法下为什么就是最优解不好证明。二、AcWing 913. 排队打水本题链接:AcWing 913. 排队打水本博客给出本题截图本题分析这里注意爆int问题.原创 2021-05-03 19:59:24 · 960 阅读 · 0 评论 -
推公式(贪心)
文章目录前言一、贪心二、AcWing 125. 耍杂技的牛本题分析AC代码三、时间复杂度前言复习acwing算法基础课的内容,本篇为讲解基础算法:贪心——推公式,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。一、贪心贪心:利益最大化,即找到最优的情况,贪心问题难在证明,即你可能能推断出这个题目的正确解法,但是这个解法下为什么就是最优解不好证明。二、AcWing 125. 耍杂技的牛本题链接:AcWing 125. 耍杂技的牛本博客给出本题截图本题分析用到了pair,p.原创 2021-05-03 20:30:23 · 808 阅读 · 0 评论 -
STL—vector
文章目录一、什么是vector二、vector的操作1.vector的定义2.vector内元素的访问通过下标访问通过迭代器访问3.vector中的函数(1)push_back()(2)pop_back()(3)size();(4)clear()(5)insert()(6)erase()删除单个元素删除一个区间内的元素一、什么是vectorvector就是边长数组,相比较与数组我们需要提前规定它的容量,它可以根据运算自动改变数组的长度,我们在平时写题的时候可能会遇到爆内存的情况,这就是我们数组长度开.原创 2021-05-03 23:34:50 · 1309 阅读 · 0 评论 -
STL—set
文章目录一、什么是set二、set的操作1.set的定义2.set内元素的访问3.set中的函数(1)insert()(2)find()(3)erase()删除单个元素删除一个区间内的所有元素(4)size()(5)clear()一、什么是setset意为集合,是一个内部自动有序,并且不含重复元素的容器,有些题目可能会要求去重操作,这时候就可以用set去解决,并且set可以实现自动排序,熟练的使用set之后可以减少某些题目的思维量,如果要使用set,需要添加头文件#include <set&g.原创 2021-05-04 01:43:39 · 2639 阅读 · 1 评论 -
STL—map
文章目录一、什么是map二、map的操作1.map的定义2.map内元素的访问(1)通过下标访问(2)通过迭代器访问3.map中的函数(1)find()(2)erase()删除单个元素删除一个区间内的所有元素(4)size()(4)clear()一、什么是mapmap是映射,我们在定义数组的时候int a[100];其实是一个int --> int的映射,比如a[3] = 5的含义就是把3映射到5,一个double类型的数组就是一个int --> double的映射,这里我们就能知道我们.原创 2021-05-04 11:18:53 · 1955 阅读 · 0 评论 -
STL—queue
文章目录一、什么是queue二、queue的操作1.queue的定义2.queue容器内元素的访问3.queue中的函数(1)push()(2)front(),back()(3)pop()(4)empty()(5)size()一、什么是queuequeue翻译为队列,在STL中实现了一个先进先出的容器,意思是先插入到队列中的元素先出队,我们也可以通过数组去模拟一个队列,具体操作见博客:用数组模拟队列,本博客讲述STL中的queue的应用,要想使用queue,需要添加头文件:#include <.原创 2021-05-04 12:11:35 · 1004 阅读 · 0 评论 -
STL—priority_queue
文章目录一、什么是priority_queue二、priority_queue的操作1.priority_queue的定义2.priority_queue容器内元素的访问3.priority_queue中的函数(1)push()(2)top()(3)pop()(4)empty()(5)size()4.priority_queue内元素优先级的设置基本数据结构类型的优先级设置结构体的优先级设置一、什么是priority_queuepriority_queue又称为优先队列,其底层是用堆来实现的,优先队.原创 2021-05-04 15:12:39 · 1249 阅读 · 0 评论 -
STL—stack
文章目录一、什么是stack二、stack的操作1.stack的定义2.stack容器内元素的访问3.stack中的函数(1)push()(2)top()(3)pop()(4)empty()(5)size()一、什么是stackstack翻译为栈,是STL中实现的一个先进后出的容器,要使用stack,需要添加头文件#include <stack>二、stack的操作1.stack的定义stack<typename> name;其定义方法和其他的STL容器相同,ty.原创 2021-05-04 16:41:37 · 993 阅读 · 0 评论 -
STL—pair
文章目录一、什么是pair二、pair的操作1.pair的定义2.pair的输出3.pair的赋值法一法二4.pair的比较一、什么是pairpair是一个特别实用的“小玩意儿”,当我们想把两个元素捆绑在一起当成一个元素的时候,又不想定义结构体的时候,这个时候就可以使用pair,也就是说,pair实际上可以当成内部只有两个元素的结构体,且这两个元素的类型是可以指定的.struct pair { typename1 first; typename2 second;};要使用pair,要先添.原创 2021-05-04 17:16:36 · 1515 阅读 · 0 评论 -
STL—algorithm(1)
文章目录一、algorithm二、常用函数一览1.max(), min()2.abs()3.swap()4.reverse()5.fill()一、algorithm在algorithm中,有很多函数,这些函数是已经写好的,可以直接调用,十分的方便,可以精简代码量辅助我们思考在使用algorithm的函数之前需要添加头文件#include <algorithm>二、常用函数一览1.max(), min()max(x, y);和min(x, y);分别返回x和y中的最大值和最小值,.原创 2021-05-04 18:16:10 · 1042 阅读 · 0 评论 -
STL—algorithm(2)
文章目录一、什么是algorithm二、常用函数一览6.sort()(1)使用sort函数(2)实现cmp函数基本数据类型数组的排序结构体数组的排序容器的排序7.lower_bound() 和 upper_bound()一、什么是algorithm在algorithm中,有很多函数,这些函数是已经写好的,可以直接调用,十分的方便,可以精简代码量辅助我们思考在使用algorithm的函数之前需要添加头文件#include <algorithm>由于algorithm下的函数有很多,这里.原创 2021-05-05 07:01:18 · 1052 阅读 · 0 评论 -
STL—string
文章目录一、什么是string二、string的操作1.string的定义2.string中内容的访问(1)通过下标访问(2)通过迭代器访问3.string中的函数(1)operator+=(2)compare operator(3)length()/size()(4)insert()(5)erase()(6)clear()(7)substr()(8)string::npos(9)find()(10)replace()一、什么是string我们在C语言中,存储字符数组是用char str[]来存放字.原创 2021-05-05 09:29:54 · 1034 阅读 · 0 评论