![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法笔记
在算法途中遇到的一些问题总结和数据结构、算法笔记
dragon_sxl
小白
展开
-
各种排序算法汇总
(1)冒泡排序#include<iostream>using namespace std;int main() { //利用冒泡排序实现升序排列,排序的次数为元素数-1//每轮对比次数:元素个数-排序轮数-1; int A[6]= {4,3,1,5,3},i; for(i=0; i<6; i++) { cout<<A[i]<<" "; } cout<<endl;//开始冒泡排序//总共排序轮数为6-1 for(int i=原创 2022-03-29 23:55:47 · 534 阅读 · 0 评论 -
笔记(前缀和)(二维)
1.前缀和释义: 查询以(x1,y1)为左上角端点,(x2,y2)为右下角端点的子矩阵之和2.公式一:(这里是二维前缀和数组公式) s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];3.公式二:(这里是 查询以(x1,y1)为左上角端点,(x2,y2)为右下角端点的子矩阵之和的公式)ans = s[x2][y2] - s[x1-1][y2] - s[x2][y1 - 1] + s[x1 - 1][y1 - 1]3....原创 2021-09-16 11:20:38 · 231 阅读 · 0 评论 -
笔记(前缀和)(一维数组)
1.前缀和释义: 前缀和就是从位置1到位置i这个区间内的所有的数字之和。2.公式: s[i]=s[i-1]+arr[i];3.具体见如下代码:#include<bits/stdc++.h>using namespace std;//前缀和一维//前缀和释义://前缀和就是从位置1到位置i这个区间内的所有的数字之和//公式:s[i]=s[i-1]+a[i];const int N=100010;int arr[N];int s[N];int ...原创 2021-09-16 10:25:15 · 364 阅读 · 0 评论 -
笔记 (map)
1,map简介map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次; 第二个可能称为该关键字的值(value); 比如说:简单数组就是一个map,其中下标为key,所对应的结果为value;2,map的功能自动建立key- value的对应。key 和 value可以是任意你需要的类型,包括自定义类型。3,使用map使用map得包含map类所在的头文件#include <map>//注意,STL...转载 2021-09-15 16:25:58 · 83 阅读 · 0 评论 -
笔记 stack(栈)
栈的定义栈(stack)是限定仅在表尾进行插入或者删除的线性表。对于栈来说,表尾端称为栈顶(top),表头端称为栈低(bottom)。不含元素的空表称为空栈。因为栈限定在表尾进行插入或者删除,所以栈又被称为后进先出的线性表基本函数://empty() 堆栈为空则返回真////pop() 移除栈顶元素////push() 在栈顶增加元素////size() 返回栈中元素数目////top() 返回栈顶元素 m////swap()...原创 2021-09-09 20:32:40 · 140 阅读 · 0 评论 -
笔记 string型也能相加()
#include<bits/stdc++.h>using namespace std;int main() { string str=""; str+="123456"; cout<<str; }输出为:123456;再例如:#include<bits/stdc++.h>using namespace std;int main() { string str="00000"; for(int i=0; i<10; i++) { .原创 2021-09-06 10:28:16 · 336 阅读 · 0 评论 -
笔记 vector(向量)
1向量的初始化方法:// vector<int> a(10);//定义了10个整型元素的向量(尖括号中为元素类型名,它可以是任何合法的数据类型),但没有给出初值,其值是不确定的。// vector<int> a(10,1); //定义了10个整型元素的向量,且给出每个元素的初值为1// vector<int> a(b); //用b向量来创建a向量,整体复制性赋值// vector<int> a(b.b...原创 2021-07-20 13:08:34 · 162 阅读 · 0 评论 -
笔记2 容器 set(集合)
顾名思义,set容器如集合般有两个特点:1:set中的元素都是排好序的的 (排序是从大到小还是从小到大可以自己定义)2:set集合中没有重复的元素(即使后来进行插入操作,同种元素的数量也不能增加,只能为1)在之前的一个练习题中用到了set容器:https://blog.csdn.net/longzaizai_/article/details/118660936此篇记录,防止遗忘:基本函数://begin(); // 返回指向第一个元素的迭代器//end(...原创 2021-07-12 20:34:44 · 607 阅读 · 0 评论 -
笔记1 记录整型与字符型的转换(利用ASCII码)
0的ASCII码为0,a的ASCII码为97,A的ASCII码为65,根据ASCII可进行三者之间的对应转换。之前在做一道ccf模拟题时不知此方法,费了好大劲自己写函数实现转化,今天得知此方法,以此记录,感兴趣的朋友可以去用这种方法做一下那道习题。https://mp.csdn.net/mp_blog/creation/editor/118668703#include<bits/stdc++.h>using namespace std;//利用ASCII码,将整数与大小写字母联系原创 2021-07-12 19:50:57 · 729 阅读 · 0 评论