![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习记录
竹筝
这个作者很懒,什么都没留下…
展开
-
stl学习
#include <iostream>#include <string>#include <queue>using namespace std;int main(){ queue<string>q; q.push("123"); q.push("456"); q.push("789"); cout<<q.size()<<endl; cout<<q.front()原创 2022-07-15 15:18:31 · 110 阅读 · 0 评论 -
conda基本操作
conda管理Conda管理包# 安装命令conda install package_name# 安装numpy,输入conda install numpy# 安装 matplotlibconda install matplotlib# 查看已安装的包conda list# 搜索安装包conda search search_term# 同时安装多个包conda install numpy scipy pandas# 安装指定版本的包conda install numpy=1.1原创 2022-03-01 20:42:37 · 870 阅读 · 1 评论 -
c++文件组织
转载 2021-07-18 11:41:45 · 151 阅读 · 0 评论 -
c++之重载函数和函数模板
#include<iostream>using namespace std;int max_(int a,int b){ return (a>b?a:b);}double max_(double a,double b){ return (a>b?a:b);}long max_(long a,long b){ return (a>b?a:b);}int main(){ int a=1,b=0; cout<<max_(a,b); d原创 2021-07-16 20:52:28 · 58 阅读 · 0 评论 -
关于函数传参的再理解(含引用)
情景引入—小小日记6/1的我开开心心的度过儿童节,复习一哈数据结构课上的内容。but!,这红红的一条让我心慌。下面是当时的源码(二叉排序树)#include <iostream>using namespace std;typedef int datatype;struct Node{ datatype data =0; Node *lchild = NULL, *rchild = NULL;};void Insert(Node *root,datatyp原创 2021-06-02 22:32:16 · 335 阅读 · 1 评论 -
c++中逆序reverse和sort的使用
reverse可以进行逆序sort可以进行升序排列#include<cstdio>#include<bits/stdc++.h>using namespace std;int main (){ string key; cin>>key; reverse(key.begin(),key.end()); //翻转的是起点和终点这段区间 和sort用法类似;[st,ed) cout<<key<<原创 2021-03-16 17:13:11 · 4857 阅读 · 0 评论 -
如何理解最小生成树
#include <iostream>using namespace std;#define MaxSise 10#define positive_infinity 1000int visited[MaxSise]={0};typedef char datatype;typedef struct { datatype vertex[MaxSise]; int edge[MaxSise][MaxSise]; int vertexnum,edgenum;}MGr原创 2021-05-20 20:57:41 · 103 阅读 · 0 评论 -
并查集
#include <iostream>using namespace std;const int M=1000;int n,m,p[M];int find(int x){ int r=x; while(p[r]!=r){//寻找根节点 r=p[r]; } int i=x,t; while(i!=r){//路径压缩 t=p[i]; p[i]=r; i=t; } return r;}void原创 2021-05-13 20:22:28 · 63 阅读 · 0 评论 -
dfs深度优先搜索
深度优先搜索: 它从某个状态开始,不断地转移状态直到无法转移,然后退回到前一步的状态,如此不断重复知道找最终的解。所以递归函数实现比较容易。如下例:部分和问题:从a1开始按顺序决定每个数加还是不加,在全部n个数都决定后判断它们的和是不是k即可 。因为状态数是2(n+1),所以复杂度是O2n。//输入;int a[max_n];int n,k;//已经前i项得到了和sum,然后对于i项之后进行分支bool dfs(int i,int sum){ //如果前i项都计算过了,则返回sum是否原创 2021-02-08 19:30:20 · 85 阅读 · 1 评论 -
stl map
map集合以键与值组合为元素,每个元素拥有一个键和一个值,集合以键作为排序标准。集合中各元素的键是唯一的,不重复。map可以看做是一种能使用任意下表的关联式容器。eg:从字符串中删除字符串#include <iostream>#include <map>#include <string>using namespace std;void print(map<string,int>t){ map<string,int>::iter原创 2021-04-28 20:14:45 · 77 阅读 · 0 评论 -
不区分大小写的字符串查找
#include <iostream>#include <string>using namespace std;int main(){ int count=0; string str1,str2; cin>>str1; getchar(); getline(cin,str2); //大写转小写 for(int i=0;i<str1.size();i++){ if((str1[i]>=原创 2021-04-22 20:44:18 · 1235 阅读 · 3 评论 -
顺序表的实现
#include<cstdio>#include <cstdlib>#define max_size 10typedef int datatype;typedef struct { datatype data[max_size]; int length;}seqlist;int Creatlist(seqlist *L,const datatype a[],int n){ if(n>max_size){ printf("n原创 2021-04-18 18:16:29 · 59 阅读 · 0 评论 -
关于动态申请数组
今日冬令营学习数组有感`1.使用*()或【】;都有降维的意思。这里是动态申请二维数组#include<stdio.h>#include<stdlib.h>int main(){ int m,n; int **a=NULL;//定义一个二级指针 scanf("%d%d",&m,&n); a=(int **)malloc(sizeof(int *)*m);//申请m个列指针 for(int i=0;i<m;i++){ *(a+i)=(int原创 2021-01-11 20:41:57 · 281 阅读 · 0 评论 -
关于递归
计算n的阶乘#include <iostream>using namespace std;int factorial(int n){ if(n==1)return 1; else return n*factorial(n-1);}int main(){ cout<<factorial(5); return 0;}原创 2021-04-02 20:10:06 · 69 阅读 · 0 评论 -
lower_bound的使用
#include<iostream>#include<algorithm>using namespace std;int main(){ int a[5]={1,2,3,4,5}; int b[5]={1,3,4,5,2}; int *pos; pos=lower_bound(a,a+5,2);//lower_bound取的是第一个不小于‘2’(指定值)的元素的地址 int idx=distance(a,pos);//用dist原创 2021-04-01 13:08:16 · 113 阅读 · 0 评论 -
二分搜索
#include<iostream>using namespace std;int search(int a[],int n,int key);int main(){ int n,key; cin>>n>>key; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } cout<<search(a,n,key); return原创 2021-04-01 10:00:03 · 65 阅读 · 0 评论 -
vector
#include <iostream>#include <vector>using namespace std;int main(){ vector<int>v; v.push_back(444); v.push_back(666); v.push_back(233); v.pop_back();//删除最后一个元素(233) v[1]=777; for(size_t i=0;i<v.size();i原创 2021-03-26 09:15:05 · 95 阅读 · 0 评论 -
关于引用
#include <iostream>#include <string>using namespace std;void swap(int &c,int &d){//使用引用可以,修改实参 int t=c; c=d; d=t;}int count_number(const string &s){//不使用const,引用会默认修改实参,并且当传入const的实参的时候会报错 int count =0; for(原创 2021-03-25 20:02:55 · 59 阅读 · 0 评论 -
最小字典序(贪心算法)O(n)
输入一个长度为n的字符串,找到其最小字典序。此题使用贪心算法,比较字符串两端的大小,取小的字符接入(或输出)新的字符串。若两端相同,则比较内侧两个字符的大小,先取小的一边。可以设置标记符a,b直到a>=b时循环结束。#include <iostream>using namespace std;int main(){ int n; cin>>n; char str[n]; cin>>str; int a=0,b=n-原创 2021-03-24 20:32:29 · 963 阅读 · 0 评论