![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++项目实战
洌泉_就这样吧
Less is more.
展开
-
【C++项目实战】链表创建和内存释放
#include<iostream>using namespace std;struct Node{ int val; Node *next, *random; Node(int x): val(x), next(nullptr), random(nullptr){}; void DeleteList(){ Node*p=this; Node*head; if(p){ int val =原创 2021-07-22 11:28:01 · 1573 阅读 · 0 评论 -
【C++项目实战】随机链表创建和深拷贝(克隆)
知识点题目来源:https://leetcode-cn.com/problems/copy-list-with-random-pointer/结构体使用链表创建递归算法引用传参哈希表使用代码#include<iostream>#include<unordered_map>using namespace std;struct Node{ // 创建结构体 int val; // 节点值 Node *next, *random; // 节点指针原创 2021-07-22 11:17:59 · 307 阅读 · 0 评论 -
【C++项目实战】自定义sort类
1 知识点使用sort函数需要包含库函数<algorithm>采用pair作为vector的元素使用sort函数对vector进行排序,自定义排序标准排序标准形式:[capture list] (params list) {function body}形式,return一个比较2 代码#include <iostream>#include <algorithm>#include <vector>using namespace std;原创 2021-07-05 16:04:43 · 239 阅读 · 0 评论 -
【LeetCode/力扣】726. 原子的数量
1 题目描述题目链接:https://leetcode-cn.com/problems/number-of-atoms/给定一个化学式formula(作为字符串),返回每种原子的数量。原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字。如果数量大于 1,原子后会跟着数字表示原子的数量。如果数量等于 1 则不会跟数字。例如,H2O 和 H2O2 是可行的,但 H1O2 这个表达是不可行的。两个化学式连在一起是新的化学式。例如 H2O2He3Mg4 也是化学式。一个括号中的化原创 2021-07-05 11:23:32 · 328 阅读 · 0 评论 -
【C++项目实战】赋值操作符重载
1 知识点构建类传递字符数组使用cstring中的函数strlen和strcpy赋值操作符重载2 代码#include <iostream>#include <cstring>using namespace std;class CMyString{public: CMyString(char* pData = nullptr): m_pData(pData){} // 构造函数,列表初始化 CMyString(const CMyString&a原创 2021-06-30 10:38:03 · 112 阅读 · 0 评论 -
【C++项目实战】批量读写文件
#include <iostream>#include <sys/types.h>#include <dirent.h>#include <vector>#include <string.h>#include <fstream>#include <regex>#include <string> using namespace std; void GetFileNames(string p原创 2021-06-28 15:49:01 · 676 阅读 · 0 评论 -
【C++项目实战】构建类
1 知识点课程来自B站侯捷老师视频好习惯是使用使用防卫式声明,避免重复定义类构造函数初始化列表传参和返回类型尽量使用reference(引用)类成员函数不改变输入参数则尽量使用const二元操作符重载,默认由this传入第一个参数由类构造函数生成临时对象不能返回局部对象的引用cout的重载用到ostream&作为返回类型友元函数可以类外进行重载,可以访问类中的private成员内联函数的类外定义2 代码#include <iostream>using na原创 2021-06-23 09:18:37 · 211 阅读 · 0 评论 -
【C++项目实战】构建栈Stack
1 知识点Rudimentary applications by pointer: stack, queue, linked list, rooted tree(指针的基础应用:栈,队列,有序列表,有序根树)systhesize objects and points by array(用数组来构建对象和指针)stack: last in, first out, LIFO(栈是后进先出)queue: first in, first out, FIFO(队列是先进先出)operations:原创 2021-06-21 17:20:36 · 403 阅读 · 0 评论 -
【C++项目实战】继承和多态
1 知识点类定义(class默认private,struct默认public,完成定义要加;)类传值(构造函数参数,通过派生类传值)指向类对象的指针(this指代当前对象地址,指针访问成员用->)构造函数和析构函数(构造函数是类同名函数,析构函数前加~)访问修饰符(public可类外访问,protected派生访问,private类外不可访问)类继承(derive class : 访问修饰符 base class,多重继承逗号隔开 )虚函数、多态、虚析构函数(virtual)内联函数原创 2021-06-15 17:10:43 · 321 阅读 · 0 评论 -
【C++项目实战】输入和判断
1 知识点输入和输出判断语句固定大小数组2 代码#include<iostream>using namespace std;int main(){ int score; string arr[3] = {"Good", "Average", "Bad"}; // 数组初始化 cout << "Please enter your score "<< endl; cin >> score; // 输入整数原创 2021-06-15 11:05:22 · 208 阅读 · 0 评论 -
【C++项目实战】打印输出
1 知识点赋值和初始化while和for循环标准化输出vector动态数组2 代码#include<iostream> // io头文件#include<vector> // 动态数组容器头文件using namespace std; // 标准库命名空间int main(){ // 二维数组初始化,表示生成8x11、元素全为'*'的二维数组 vector<vector<char>>vec(8,vector<ch原创 2021-06-15 10:35:39 · 3850 阅读 · 1 评论