
c++
HUGO_2021_10_07
彭
展开
-
队列(queue)
方法: 1、入队(push)队末 2、出队(pop)队头 3、判断队列是否为空(empty) 4、统计元素个数(size) 5、访问队首元素(front) 性质: 先进先出原创 2021-11-25 21:54:33 · 276 阅读 · 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 · 725 阅读 · 0 评论 -
链表——单项链表、双向链表
特点: 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 · 98 阅读 · 0 评论 -
完全背包——拿东西
有一天猪八戒有又来到了一个好地方,地上有好多种好东西,数量无限,可是他的背包不太行,不能全部装下,请问猪八戒有几种装的方法,必须装满。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 · 119 阅读 · 0 评论 -
动态规划——走格子
有一个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 · 600 阅读 · 0 评论 -
指针——引用
首先我们要先创建一个指针变量才能使用指针,例如: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 · 188 阅读 · 0 评论