- 博客(9)
- 收藏
- 关注
原创 1065-简单的最小数
题目:1065-简单的最小数分析:本道题是一道模拟题,主要用贪心策略贪心策略如下:用string a存储数字,如178543, 从a[0]开始尽量使a[i]成递增顺序,若a[i]>a[i+1]将删除a[i],若数组每个数都满足a[i]<=a[i+1],将删除最后一个数字如178543,因为8>5第一个删除8变为17543;因为7>5,删7得1543,因为5>4,删5得143; 因为4>3,删4得13;代码:#include<iostream>
2020-10-04 09:44:58 176
原创 1060-合法栈输出
题目: 1060-合法栈输出分析:本题是一道模拟题,模拟数据进栈与出栈的顺序,本题需要解决两个子问题第一个问题:用什么的存储结构模拟进栈与出栈首先进栈可以用一个队列a和栈b来模拟即a队列的首元素进b栈后便删除a的队列的首元素;队列c模拟出栈的顺序即b栈出一个数据进c队列,如图所示为模拟情况第二个问题:如何遍历所有的进栈出栈情况呢用DFS(递归)和回溯法来遍历所有的进栈出栈情况,具体如下:如上图在a队列的数据1向b栈输入后,这个数据有两种选择:选择一,直接出栈进入c队列;选择二,继续留在b栈里(
2020-09-20 17:57:16 180
原创 [C++]有向图的简单路径
一、题目描述(1).求出有向图中从起点到终点的所有简单路径。其中起点和终点可以由用户自行设定。(2).求出有向图中从起点到终点的指定长度(如K)的所有简单路径。其中起点和终点可以由用户自行设定。二、解决方案1.任务定义和问题分析首先建立图的邻接矩阵来表示图,0表示无边,非0的n代表边的权值(边的长度);用vector < int > path储存路径(path记录图的点来表示路径);采用BFS(深度遍历)的方法来遍历所有的路径,符合的路径则进path并输出;2.详细设计a.
2020-06-11 22:16:41 4116 1
原创 [C++]实现有向无环图的所有拓扑序列
一:任务定义和问题分析我们需要解决3个问题:一:建立图的邻接矩阵以及入度数组(入度序列)二:得到入度为0的点三:拓扑序列的储存,因为要输出所有的拓扑序列,所以拓扑序列的储存结构较为重要,我选择STL的deque来储存拓扑序列的点二:详细设计以下为图的类class figure{private: int count;//图的点数个数 int count1;//下文会提及的 bool judge_;//下文会提及的 int** sz;//动态二维数组的创立 int* deg;//入度
2020-06-07 09:08:33 2334
原创 [C++]STL总结(四)stack和queue总结
[C++]STL总结(四)stack和queue总结#include<iostream>#include<stack>#include<queue>using namespace std;//容器适配器由容器改造的 int main(){ //以下是stack //push()入栈 //pop()栈顶元素出栈 //top()返回栈顶元素 //empty()判空 //size()返回栈内元素大小 //以下是queue //push()入队
2020-05-15 19:32:11 184
原创 [C++]STL总结(三)map总结
[C++]STL总结(三)map总结#include<iostream>#include<string>#include<utility>//pair定义的头文件 #include<map>//map定义的头文件 using namespace std;//map是双向迭代器支持*,++,--,=,==,!= int main(){ //pair是一个类模板,将两个值组织在一起,两个值得类型可以不同。可通过first和second公共数据成员
2020-05-15 19:30:42 202
原创 [C++]STL总结(二)vector以及序列型容器总结
[C++]STL总结(二)vector以及序列型容器总结以下为vector总结#include<iostream>#include<vector>//vector#include<algorithm>#include<numeric>using namespace std;int main(){ //以下为vector对象的创建 vector<int> V1; vector<int> V2(10);//vect
2020-05-15 19:29:35 135
原创 [C++]STL总结(一)vector
vector总结#include<iostream>#include<vector>//vector#include<algorithm>#include<numeric>using namespace std;int main(){ //以下为vector对象的创建 vector<int> V1; vector<int> V2(10);//vector中10个对象 初始值全为0 vector<doub
2020-05-12 18:10:36 172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人