C/C++
刷题
Cutecumber
爱生活,爱自己
展开
-
【c++】priority_queue自定义小根堆
struct ListNode { int val; ListNode *next; ListNode() : val(0), next(nullptr) {} ListNode(int x) : val(x), next(nullptr) {} ListNode(int x, ListNode *next) : val(x), next(next) {}};struct cmp{ bool operator()(ListNode *a, ListNode原创 2022-01-19 20:11:31 · 1626 阅读 · 0 评论 -
【C++】Map用法
未排版,仅备自查#include <map>#include <iostream>//容量查询 // // 查询map是否为空 // bool empty(); // // 查询map中键值对的数量 // size_t size(); // // 查询map所能包含的最大键值对数量,和系统和应用库有关。 // // 此外,这并不意味着用户一定可以存这么多,很可能还没达到就已经开辟内存失败了 // size_t max_原创 2022-01-19 16:14:15 · 607 阅读 · 0 评论 -
【C++】大数乘法
大整数乘法的简单实现模拟手算。每次计算时不考虑进位,最后统一进行进位处理handle负责处理每一位上的进位。用vector存储每位的数字,[0]对应数的最低位。//进位处理void handle(vector<int>& c){ for (int i = 0; i < c.size()-1; ++i){ c[i+1] += c[i]/10; c[i] %= 10; }}vector<int> multipl原创 2021-02-20 15:38:03 · 518 阅读 · 0 评论 -
【C++】 <algorithm>头文件之sort用法
用法1:对基本类型数组排序(默认为从小到大)sort( 数组名+n1,数组名+n2);//对[n1,n2)进行重排序例如int a[5] = {1, 4, 5, 3, 2};sort(a, a+5);结果1 2 3 4 5用法2:对元素类型为T的基本类型数组从大到小、从小到大排序sort( 数组名+n1,数组名+n2,greater<T>());//对[n1,n2)进行从大到小排序sort( 数组名+n1,数组名+n2,less<T>());//对[n1,n2原创 2021-02-19 21:26:38 · 335 阅读 · 0 评论 -
【C++】BFS求树的高度
思路求树的高度本质就是层次遍历树,遍历完后记录下最大的层数,所以可以改造BFS遍历树的算法来实现求解树的最大深度先来回顾一下BFS遍历二叉树BFS层次遍历二叉树其实遍历一般的树也是同样的思路,每次需要将某个节点所有的孩子都push进队列里struct Bitree { int num; struct Bitree *lchild; struct Bitree *rchild;};queue<struct Bitree *> queue_;struct Bi原创 2021-02-19 20:46:54 · 523 阅读 · 0 评论 -
【C++】 <algorithm>头文件之reverse用法
头文件#include <algorithm>翻转数组int a[] = {1,2,3 ,4,5,6,7};reverse(&a[0],&a[2]);翻转容器vector<int> v = {5,4,3,2,1};reverse(v.begin(),v.end());//对[begin, end]进行翻转,v的值为1,2,3,4,5vector<int> v = {5,4,3,2,1};reverse(v.begin()+1,v.原创 2021-02-17 21:24:07 · 434 阅读 · 0 评论 -
【C++ 】string类常见用法总结,超有用,算法竞赛必备
1.头文件#include<string.h>2.构造函数string s1(); // si = ""string s2("Hello"); // s2 = "Hello"string s3(4, 'K'); // s3 = "KKKK"string s4("12345", 1, 3); //s4 = "234",即 "12345" 的从下标 1 开始,长度为 3 的子串3.对 string 对象赋值string s1, s2, s3;s1 = "Hello";原创 2021-02-09 00:02:56 · 382 阅读 · 1 评论 -
C语言统计不同单词数
统计输入的一个句子中有多少单词(不重复的),句子只有小写字母跟空格分析从头遍历输入的句子,把每个单词赋给字符串变量t,如果words字符串数组中没有该单词,则计数count+1,并把单词复制到words数组中代码#include <stdio.h>#include <stdlib.h>#include<string.h>int count=0;/...原创 2019-07-06 10:59:08 · 3046 阅读 · 2 评论 -
C语言数组题_校门外的树_标记法
题目描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是11米。我们可以把马路看成一个数轴,马路的一端在数轴00的位置,另一端在LL的位置;数轴上的每个整数点,即0,1,2,…,L0,1,2,…,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中...原创 2019-06-24 17:56:49 · 1754 阅读 · 0 评论 -
c语言函数的递归调用(汉诺塔问题,楼梯递归问题等)
c语言函数的递归调用(汉诺塔Hanoi问题,楼梯递归问题等)刚接触c语言的时候,感觉函数递归调用这里比较绕,难以理解,现在本着复习的目的,捋顺一下,介绍几个递归的题目。1.什么是递归调用函数的递归调用是指在调用一个函数的过程中直接或间接调用该函数本身。2.重点分析重点在于分析要解决的某个问题前n-1次和第n次过程存在的递归关系;再者,递归的起始条件的不要忽略,应单独写出。3.举例说明...原创 2019-06-18 21:55:57 · 2086 阅读 · 0 评论