数据结构
王也枉不了
这个作者很懒,什么都没留下…
展开
-
快速排序图解(递归,栈两种实现)
牢记我们的目的是把基准数左边变成都比基准数小,右边变成都比基准数大非常详细的图解与注释,递归与栈两种方法实现原创 2021-10-12 08:00:00 · 1406 阅读 · 6 评论 -
L1-033出生年
#include <bits/stdc++.h>using namespace std;int main(){ int years,nums; cin>>years>>nums; int n[4]; int count =0,i=0; for(i=years;;i++) { count =1; n[0]=i/1000; n[1]=i/100-n[0]*10; n[2]=i/10-n[0]*原创 2021-07-07 18:51:49 · 75 阅读 · 0 评论 -
L1-027 出租 (20 分)
1. 题目题目链接2.思考map+set3.代码#include <bits/stdc++.h>#include<bits/stdc++.h>using namespace std;int main(){ set<int,greater<int>> st; string nums; int *arr=new int [1000],n=0; cin>>nums; for(int i:nums) st.insert(i原创 2021-07-01 20:14:30 · 77 阅读 · 1 评论 -
map 检测身份证
题解一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。输入格式:输入第一行给出正整数N(≤100)是输入原创 2021-06-28 19:18:26 · 108 阅读 · 1 评论 -
循环赛日历表(递归与非递归)
目录1.题目要求2.样例3.非递归4.递归1.题目要求设有n(n为2的k次幂)个运动员参加网球循环赛,现设计一个比赛日程表,要求:(1)每个选手必须与其他n-1个选手各赛一次(2)每个选手一天只能比赛一次(3)循环赛一共进行n-1天2.样例Input3Output1 2 3 4 5 6 7 82 1 4 3 6 5 8 73 4 1 2 7 8 5 64 3 2 1 8 7 6 55 6 7 8 1 2 3 46 5 8 7 2 1 4 37 8 5 6 3 4 1 28原创 2021-05-24 08:53:38 · 212 阅读 · 3 评论 -
子串查找(查找字串出现次数)
**给定一个字符串AA和一个字符串BB,求BB在AA中的出现次数。AA和BB中的字符均为英语大写字母或小写字母。 AA中不同位置出现的BB可重叠。 Input输入共两行,分别是字符串AA和字符串BB 。Output输出一个整数,表示BB在AA中的出现次数。Sample Input 1zyzyzyzzyzSample Output 13**1≤A,B的长度≤10^6,AA、BB仅包含大小写字母。时间要求500ms```cpp#include<bits/stdc++.h&.原创 2021-05-12 22:30:48 · 1482 阅读 · 3 评论 -
表达式求值(含括号的复杂运算)
#include<iostream>#include<algorithm>#include<string>#include<stack>using namespace std;int priority(int x, char ch, int y)//判断字符为什么运算符,两个数字计算 并返回{ switch (ch) { case '+': return x + y; break; c原创 2021-05-11 18:35:57 · 631 阅读 · 3 评论 -
魔方阵(各幻方)
1.什么叫幻方所谓幻方,就是一个n行n列的正方形,共有n2个格子,将1、2、3、……、n2这些数字放到这些格子里,使其每行的和、每列的和及两条对角线的和都是一个相同的数S,S称为幻和。当n为奇数时,称为奇数阶幻方,当n为偶数时,称为偶阶幻方。当n可被4整除时,称方为双偶幻方。当n不可被4整除时,称为单偶幻方。2.奇幻方解法奇魔方(阶数n = 2 * m + 1,m =1,2,3……)规律如下:数字1位于方阵中的第一行中间一列;数字a(1 < a ≤ n2)所在行数比a-1行数少1,若a-1原创 2021-05-06 00:20:24 · 1916 阅读 · 4 评论 -
DFS1205素数环(STL队列,栈,DFS,递归)算法
素数环:只能被1和自己整除的数,1不是素数,2是最小的素数素数环是指将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环(比如1 2 3 4,1 6 5 2 3 4)要求:输出所有素数环提示:用到表和队列,如果n为奇数,不构成素数环样列Input6Output1 4 3 2 5 64 3 2 5 6 13 2 5 6 1 42 5 6 1 4 35 6 1 4 3 26 1 4 3 2 51 6 5 2 3 46 5 2 3 4原创 2021-04-25 01:13:04 · 1149 阅读 · 3 评论 -
单链表删除重复值(利用set)
利用set删除单链表重复值原创 2021-04-22 23:33:32 · 241 阅读 · 1 评论 -
RPN(逆波兰式)STL的stack实现超简超详细
关于逆波兰式算法,stl的实际应用,超简超详细适合小白。感谢支持。原创 2021-04-21 14:42:01 · 344 阅读 · 6 评论 -
BF与KMP算法的写法与计算其遍历次数
BF和KMP算法BF相当于一种暴力枚举,是手中没有地图的旅客而KMP则会是手中有地图,看地图走的旅客1. 效率分析给定主串和模式串,分别统计模式匹配的BF算法和KMP算法的比较次数。如主串为S=aaaaaaaaaa ,模式串为T=aaaabBF比较次数为 34KMP比较次数为 16如主串为S=cdbbacc ,模式串为T=abcdBF比较次数为 8KMP比较次数为 8KMP这个算法,理解了以后你会发现,都是脑子,为啥这么不同呢????????????2.BF代码int BF(原创 2021-04-21 08:44:58 · 3501 阅读 · 8 评论 -
1201STL应用(血型组合问题)
关于map,set,vector,集中嵌套与遍历使用及其概况分析的综合性问题,很不错,适合新手用来熟练上述的使用原创 2021-04-20 17:01:06 · 516 阅读 · 8 评论 -
利用队列进行两位数排序
利用队列进行两位数排序直接上代码:#include<bits/stdc++.h>using namespace std;int main(){int data[100],n=0;while(1){cin>>data[n];if(data[n]==0)break;n++;}queue que[10];for(int i=0;i<2;i++)//两位数;{ int temp,l;//以下分类进入队列for(int j=0;j<n;原创 2021-04-19 23:07:56 · 256 阅读 · 1 评论