![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
木禾DING
这个作者很懒,什么都没留下…
展开
-
浅谈C++指针和引用的区别
指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a; # 指针int a=1;int &b=a; # 引用我主要从变量的地址角度来说明指针和引用的区别大家请看下面的代码#include<iostream>using namespace std;int main(){ int a=5;..原创 2020-08-10 18:29:18 · 292 阅读 · 0 评论 -
C++ 多重背包
#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,v;int w[20];int number[20];int value[20];int f[30];int main(){ sca...原创 2019-06-21 10:44:20 · 1881 阅读 · 0 评论 -
C++ 01背包和完全背包
用C++ 代码,实现01背包和完全背包#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<climits>using namespace std;int N, V;in...原创 2019-06-21 10:24:35 · 1856 阅读 · 2 评论 -
map如何判断键值是否存在
map 判断 是否有成员iterator find ( const key_type& key ); // find 函数 返回的是 iteratorif (mymap.find(key) == mymap.end()) //如果找到最后都没有,说明没有这个值cout << "没有这个key" << endl;//count函数用于统计ke...原创 2019-06-20 23:34:12 · 10342 阅读 · 0 评论 -
C++ string 字符串详解
C++ 里面 使用string 字符串 #include<string>使用cin 就可以读入 string字符串,例如 cin>>astring a;cin >> a;for (int i = 0; i < a.size(); i++) { cout << a[i] << endl;}其中 a[i] 就是 ...原创 2019-06-20 15:15:06 · 585 阅读 · 0 评论 -
C++ sort函数详解
Sort函数,是C++里面常用函数,一般用于排序 有三个参数: 在 algorithm 函数包里面(1)第一个是要排序的数组的起始地址。(2)第二个是结束的地址(最后一位要排序的地址的下一地址)(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。代码示例:#include <iostream>#i...原创 2019-06-20 14:48:07 · 782 阅读 · 0 评论 -
使用C++和C语言输入输出16进制数、8进制数
使用C++输入输出16进制数、8进制数#include <iostream>#include<cstdio>using namespace std;int main(){ int a, b; cin >> hex >> a >> b;//输入 16进制 ,输入8进制 则把hex改为oct int c; c = a +...原创 2019-06-06 21:27:09 · 12943 阅读 · 0 评论 -
迪杰斯特拉算法实现-Dijkstra 简单版
迪杰斯特拉算法实现单源最短路使用了 邻接表来存放图的信息,使用了优先级队列。#include <iostream>#include<queue>#include<vector>#include<cstdio>#include<cstring>#include<algorithm>using namesp...原创 2019-05-30 20:05:59 · 1067 阅读 · 1 评论 -
弗洛伊德算法及代码实现
使用邻接矩阵来存储图的信息,然后使用三重for循环实现弗洛伊德算法。#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int inf = 1 << 26;int main()...原创 2019-05-23 20:45:42 · 3520 阅读 · 0 评论 -
c语言问题,用十进制整数指定输入的宽度 %nd
用十进制整数指定输入的宽度(即字符数)%d就是普通的输出了%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格%02d,和%2d差不多,只不过左边补0%.2d和 %02d 一样 输出两位 不够用0来补代码如下:#include <iostream>#include<cstdio>#include<cstri...原创 2019-05-21 21:02:15 · 1845 阅读 · 1 评论 -
格式控制符之%m.nf和 %.nf
在学习C++算法设计的时候,写算法的时候,总会遇到一些输出格式的问题,比如四舍五入,这样就需要学习 格式控制符之%m.nf和 %.nf 了。%.nf和%m.nf的含义:(一)格式控制符m.n,m表示输出数据总宽度(包括小数点 . ),n表示数据精度,具体因数据类型而不同。1 m:总宽度,包括小数点2 n:小数部分位数,四舍五入%m.nf 总长度为m,小数点后面保留n位,不...原创 2019-05-21 20:48:11 · 8154 阅读 · 0 评论 -
邻接表实现BFS和DFS C++
邻接表实现BFS和DFS C++#include <iostream>#include<vector>#include<cstring>#include<cstdio>#include<queue>using namespace std;struct Edge{ int to; int w;};vector&...原创 2019-05-24 23:44:38 · 761 阅读 · 0 评论 -
C++,Kruskal克鲁斯卡尔算法求最小生成树
Kruskal算法:一、将图中所有边去掉,保留下所有点,变成了n个顶点的森林二、贪婪准则:从所有边中依次选出权值最小的边,加入图中,还必须保证新加入的边不会产生环路,若产生环路,则抛弃三、加到n-1条边,则结束循环,就会生成该图的最小生成树伪代码如下:现在的问题就是,如何判断是否有环路呢?我们使用并查集的方法来判断,用二叉树实现并查集。查 即: 就是 fin...原创 2019-04-25 15:18:46 · 2062 阅读 · 0 评论 -
C++STL常用库的详解和应用
STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm(算法)、conta...原创 2019-04-06 21:26:17 · 5831 阅读 · 1 评论 -
C++ 散列表线性开型寻址
散列表线性开型寻址问题描述给定散列函数的除数D和操作数m,输出每次操作后的状态。有以下三种操作:插入x,若散列表已存在x,输出“Existed”,否则插入x到散列表中,输出所在的下标。查询x,若散列表不含有x,输出“-1”,否则输出x对应下标。删除x,若散列表不含有x,输出“Not Found”,否则输出删除x过程中移动元素的个数。输入格式第一行两个整数D(1≤\leq≤ D ...原创 2018-11-29 09:10:59 · 2510 阅读 · 0 评论 -
使用栈求解迷宫问题C++
使用栈求解迷宫问题 C++题目:以一个 m*n 的长方阵表示迷宫,0 和 1 分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 迷宫根据一个迷宫数据文件建立。迷宫数据文件由一个包含 0、1 的矩阵组成。迷宫的通路可以使用通路上各点的坐标序列进行展示(使用图形展示最佳)。栈类的定义://这里使用的是链表描述栈类,可直b接使用STL里...原创 2018-11-21 20:38:25 · 4465 阅读 · 4 评论