![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
写条代码混日子,
遥感toCS
展开
-
《STL源码剖析》问题总结
个人笔记,持续更新,如果有遇到相同的疑问希望可以帮助大家。 Allocator P45 T* tmp = (T*)(::operator new((size_t)(size * sizeof(T)))); 调用系统全局operator new函数来申请一个内存空间,传入参数为size_t类型,使用了一个强制类型转换,函数返回void类型指针,再使用强制类型转换为T,赋给tmp指针,指向申请的内存空间。 https://www.cnblogs.com/raichen/p/5808766.html C++ n原创 2021-11-21 14:48:46 · 645 阅读 · 0 评论 -
OpenJudge F:Pots
每次操作分为6种情况,可以利用队列进行BFS搜索,同时进行剪枝和记录,避免振荡和没必要的操作。 #include <cstdio> #include <queue> #include <cmath> #include <vector> #include <iostream> using namespace std; struct Op { int a, b; int step; int way; int id,last_id; Op(i原创 2021-07-03 21:15:46 · 188 阅读 · 0 评论 -
字典树(前缀树)
二维数组实现字典树 比较方便 #include <iostream> #include <string> using namespace std; bool tri[100000][26] = { false }; void Insert(string& str) { int n = str.length(); for (int i = 0; i < n; i++) { auto idx = str[i] - 'a'; tri[i][idx] = tr原创 2021-06-30 18:49:38 · 122 阅读 · 0 评论 -
KMP算法
#include <vector> #include <iostream> #include <string> using namespace std; void getNext(string& pattern, vector<int>& next) { int n = pattern.length(); next.resize(n); next[0] = -1; int j = -1; for (int i = 1; i <原创 2021-06-30 17:52:53 · 120 阅读 · 0 评论 -
大整数运算
大整数运算代码,没有经过细致的测试,欢迎指正。 #include <cstdlib> #include <string> #include <vector> #include <iostream> #include <cmath> using namespace std; class bign { public: vector<int> num; int len; bool flag; bign()原创 2021-04-18 18:57:37 · 177 阅读 · 2 评论 -
C++实现哈希查询
#define success 1 #define unsuccess 0 #define MAXSIZE 10 #define INI 10000 int m = 0;//表长 class HashTable { public: int count;//表中元素个数 int* elem;//元素数组 bool InitHashTable(HashTable* H); int Hash(int key); bool Insert(HashTable* H, int key); bool S原创 2021-02-22 13:21:17 · 147 阅读 · 0 评论 -
C++实现二叉排序树
尽管C++的STL模板中有set、multiset等关联容器能够起到二叉排序树的作用,但是动手写一写二叉排序树能够提升写代码的能力,并且能够加深对二叉排序树思想的理解。 typedef int etype; class BiTree { public: BiTree* lchild, *rchild; etype data; void DeleteNode(BiTree* T,etype key); bool SearchNode(BiTree* T, BiTree* f, etype key,原创 2021-02-21 20:21:56 · 319 阅读 · 0 评论 -
数据结构之栈的C++代码实现
一般的数据结构书中的栈和队列的实现都是用C语言的代码作为指导,C++则相对较少,所以在学习的过程中我尝试用C++写了一下,如果有错误希望大家能够指出。 #include <iostream> #include <stdlib.h> typedef int ElemType; const int MAXSIZE = 100; class SqStack { public: SqStack(); ~SqStack(); void InitStack(SqStack* S); vo原创 2021-01-30 20:40:52 · 265 阅读 · 0 评论