- 博客(10)
- 收藏
- 关注
原创 队列(queue)
方法: 1、入队(push)队末 2、出队(pop)队头 3、判断队列是否为空(empty) 4、统计元素个数(size) 5、访问队首元素(front) 性质: 先进先出
2021-11-25 21:54:33
272
1
原创 动态数组(vector)
头文件#include<vector> 创建一个动态数组vector<int> vec; 概念: 是一个可实时变化的数组 特点: 用访问数组的方法访问动态数组 用法: vec.push_back()在末尾加入一个元素 vec.clear() (只能清理数据,不能释放内存) vector<int>().swap(vec)(清理数据,释放内存) vec.pop_back()在末尾删除一个元素 vec.size()获取长度 ...
2021-11-21 08:19:16
722
原创 链表——单项链表、双向链表
特点: 1、元素之间前后依赖,串联而成 2、元素前面和后面不会出现多个元素相连的情况 3、支持在任意位置插入或删除 4、只能顺序查找 链表一般用数组来代替 插入和删除 比如说要将 一 链接到 三 int value={0,10,100,1000} int next={-1,3,-1,-1} -1表示没有链接,独立的,在1的位置写了3表示1链接了3 ...
2021-11-07 09:20:10
96
原创 完全背包——拿东西
有一天猪八戒有又来到了一个好地方,地上有好多种好东西,数量无限,可是他的背包不太行,不能全部装下,请问猪八戒有几种装的方法,必须装满。n是有几种好东西,m是背包的大小,每个东西都有自己的重量。 n<=100 m<=100 #include <bits/stdc++.h> using namespace std; int a[101][101]; int w[101]; int main(){ int n,m; cin >> n >> m; for.
2021-10-31 11:39:45
115
原创 动态规划——走格子
有一个n*m的格子小人要从左上角走到右下角只能往右或下走,有几种走法 m<=100 n<=100 #include <bits/stdc++.h> using namespace std; int a[101]; int main(){ int n,m; cin >> n >> m; if(n==1||m==1){ cout << 1 ; return 0; } for(int i=1;i<=n;i++){ ...
2021-10-31 11:23:49
595
原创 指针——引用
首先我们要先创建一个指针变量才能使用指针,例如:int *ptr 就创建了一个int类型的ptr指针这个指针还么有指向对象,被称为野指针,让指针指向一个变量的地址,比如 ,int x=10,int*ptr=&x,&为地址运算符,*为间接运算符,输出如果要输出x的值那么就要使用,cout << *ptr <<endl; 如果要输出x的地址那么就要输出,cout<<ptr<<endl;我们也可以通过改变指针的值来改变变量的值。可以通过int **p
2021-10-31 08:26:03
183
原创 动态规划——01背包问题——解法三
题目:这里有n个宝石,每个宝石都有对应的质量和价值,有一个有限容量的背包,大小为m,求怎样放宝石才能使背包价值总和最大 2<=n<=100 1<=m<=10000 #include <bits/stdc++.h> using namespace std; int w[101],c[101],f[10001]; int main(){ int m,n; cin >> n >> m; for(int i=1;i<=n;i++)..
2021-10-17 10:03:31
110
原创 动态规划 —— 0/1背包问题 解法一
题目:这里有n个宝石,每个宝石都有对应的质量和价值,有一个有限容量的背包,大小为m,求怎样放宝石才能使背包价值总和最大 2<=n<=100 1<=m<=10000 #include <bits/stdc++.h> using namespace std; int c[101],w[101]; int p[101][101]; int main(){ int n,m; cin >> n >> m; for(int i=1;i<..
2021-10-12 21:52:04
132
原创 动态规划 —— 0/1背包问题 解法二
题目:这里有n个宝石,每个宝石都有对应的质量和价值,有一个有限容量的背包,大小为m,求怎样放宝石才能使背包价值总和最大 #include <bits/stdc++.h> using namespace std; struct A{ int w; int c; double z; }a[101]; bool cmp(A x,A y){ return x.z>y.z; } int main(){ int n,m,num=0; cin >> n >> m;
2021-10-11 21:54:36
137
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人