笔记
文章平均质量分 63
JdiLfc
这个作者很懒,什么都没留下…
展开
-
抛开书本讲KMP,跟着思路你就会了,一位考研er的顿悟
抛开书本将KMP的思路,跟着思路我觉得你也可以彻底理解的。原创 2022-07-09 22:11:47 · 493 阅读 · 1 评论 -
二叉树基础操作-Python实现
class Tree: def __init__(self,val,lchild=None,rchild=None): self.val=val self.lchild = lchild self.rchild = rchilddef Create_Tree(root, val): if len(val) == 0: return root if val[0] == '#': val.pop(0)原创 2021-08-05 14:40:51 · 201 阅读 · 0 评论 -
第十六章 继承与多重继承
第十六章 继承16.1 继承的概念: 面向对象程序设计可以让你声明一个新类作为另一个类的派生。派生类(又称子类)继承父亲的属性和操作。子类也声明了新的属性和新的操作,剔除了那些不适合于其用途的继承下来的操作。即,继承可以让你重用父类的代码,专注于为子类编写新代码,继承可以使已经存在的类不需改动的适应新应用。16.2 继承的工作方式: 例如,现在有一个学生类student,要新建一个研究生类graduatestudent。研究生除了具有研究生的性质还具有学生的所有性质,所以我们用继承的方式重用学原创 2020-05-27 16:39:07 · 436 阅读 · 0 评论 -
内联函数inline
内联函数inline:引入内联函数的目的是为了解决程序中函数调用的效率问题,这么说吧,程序在编译器编译的时候,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换,而对于其他的函数,都是在运行时候才被替代。这其实就是个空间代价换时间的i节省。所以内联函数一般都是1-5行的小函数。在使用内联函数时要留神:1.在内联函数内不允许使用循环语句和开关语句;2.内联函数的定义必须出现在内联函数第一次调用之前;3.类结构中所在的类说明内部定义的函数是内联函数。...原创 2020-06-23 13:43:33 · 142 阅读 · 0 评论 -
拷贝构造函数例子
拷贝构造函数#include<iostream>#include<string>using namespace std;class Student{public: Student(char* pname = "no name", int ssid = 0) { id = ssid; strcpy(name,pname); cout << "Constructing new student " << pname << en原创 2020-06-18 10:46:24 · 442 阅读 · 0 评论 -
写链表时未初始化内存的指针解决方法
当我们为指针申请内存时若用一下方法:list* head;head=new list;会造成未初始化内存head(在函数中)此时将head=new list;改成head=(list*)malloc(sizeof(list*));即可malloc函数头文件stdlib.h;原创 2020-06-03 15:19:04 · 1346 阅读 · 6 评论 -
静态数据成员与静态成员函数
面向对象程序设计概念1.数据成员2.函数2.1 构造函数2.2 析构函数原创 2020-05-19 16:11:55 · 226 阅读 · 0 评论 -
I/0流中的输入输出
1. getline()作用:输入行;用法:getline(char *line,int size,char=’\n’);例子:char str[22];getline(str,sizeof(str));//默认状态,遇到回车结束getline(str,sizeof(str),'X');//修改结束状态,遇到X结束。而且区分大小写2. get()读取一个字符根据输入要求,有时需要执行每次一个字符的输入操作。这是,可以使用get()成员函数。格式:char istream::get();原创 2020-05-31 15:30:55 · 166 阅读 · 0 评论 -
构造函数与析构函数
构造函数与析构函数1.构造函数1.1 定义:与类同名的成员函数是构造函数,在该类的对象被创建时,自动被调用。//在类中构造函数#include<iostream>using namespace std;class information{public: information() { weight=100; high=180; cout<<weight<<" "<<high<&原创 2020-05-27 16:02:41 · 174 阅读 · 1 评论 -
C++中的文件操作—文件读写
123原创 2020-07-12 19:38:26 · 832 阅读 · 0 评论 -
函数模板问题
函数模板若使用函数重载:long longg(long c[6]){ long maxx=-1; for(int i=0;i<5;i++) { if(maxx<c[i]) maxx=c[i]; } return maxx;}float floatt(float b[6]){ float maxx=-1; for(int i=0;i<5;i++) { if(m原创 2020-05-14 10:24:05 · 189 阅读 · 0 评论 -
迷宫求解--迷宫游戏课程设计
总结1. 实现的功能1.将迷宫通过可视化方法直观的显示出来,直观的显示路和墙的位置2.随机生成迷宫, 采用Prime算法生成随机迷宫,保证了迷宫的随机性3.玩家可以通过键盘上的方向键控制位置,直到走到终点4.DFS寻找答案, 当玩家无法不知道从哪走的时候可以通过DFS寻找路径5.BFS寻找答案, 当玩家无法不知道从哪走的时候也可以通过BFS寻找路径6.延时函数,直观的显示BFS和DFS的遍历过程7.清空答案,重新游玩2.遇到的问题1. Prime算法生成迷宫2. 迷宫可视化操作,不知道如何将图数组转化成可视原创 2021-07-01 16:38:57 · 2762 阅读 · 1 评论 -
水电管理系统课程设计总结
实现的功能void Inputs(); //输入某个人的信息void Add_infor(); //增加个人信息void Payment(); //缴纳费用void Search_infor(); //查询某个人的信息void revise_infor(); //修改信息void Search_fee_infor(); //查询费用void Updata_infor(); //更新信息void Not_fee_infor(); //没有缴费的人的信息v原创 2021-07-01 16:13:51 · 267 阅读 · 0 评论 -
Python字符串的15个基本操作
文章目录1. 字符串的翻转2. 判断字符串是不是回文串3. 单词大小写4. 字符串的拆分5. 字符串的合并6. 将元素进行重复7. 列表的拓展8. 两个数交换9. 统计列表中元素出现的频率10. 将数字字符串转化为数字列表11. 使用enumerat()函数获取索引数值对12. 计算代码执行消耗的时间13. 检查对象的内存占用情况14. 字典的合并15. 检查列表内元素是不是都是唯一的1. 字符串的翻转利用切片str1 = "hello world!"print(str1[::-1])利原创 2020-12-27 17:34:39 · 1908 阅读 · 18 评论 -
Python3常用输入模式:-输入多组,固定组,多个输入
Python3常用输入模式:基础:x = input() # 输入一个string型的字符x = int(input()) # 输入一个int型input()方法和stdin()类似,不同的是input()括号内可以直接填写说明文字。sys.stdin.readline( )会将标准输入全部获取,包括末尾的’\n’,因此用len计算长度时是把换行符’\n’算进去了的,但是input( )获取输入时返回的结果是不包含末尾的换行符’\n’的。因此如果在平时使用sys.stdin.readline(原创 2020-11-20 23:47:02 · 2363 阅读 · 2 评论 -
未解之谜
求解最少移动次数变成回文串或者排序之类的题原创 2020-12-04 20:48:56 · 94 阅读 · 0 评论 -
Python中的print()函数用法总结
文章目录1. print()函数用法:2.格式化输出:3.Python常用格式字符:1. print()函数用法:函数语法:print(*objects, sep=' ', end='\n', file=sys.stdout)objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。sep – 用来间隔多个对象,默认值是一个空格。end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。file – 要写入的文件对象。2.格式化输出:在原创 2020-11-30 19:05:54 · 68574 阅读 · 8 评论 -
Python知识点总结
input() 接收多个用户输入需要与split()结合使用a, b, c, d = input().split() # 注意input()的返回类型是str#输入了四个str类型的值#arr = input().split()print(a, b, c, d)说明:str.split(str="", num=string.count(str)) # str是分隔符(默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等),num是分隔次数txt = "Google#Ru.原创 2020-11-14 13:57:00 · 235 阅读 · 2 评论 -
二叉搜索树
一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,其左子树中所有结点的键值小于该结点的键值;其右子树中所有结点的键值大于等于该结点的键值;其左右子树都是二叉搜索树。所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。输入格式:输入的第一行给出正整数 N(≤1000)。随后一行给出 N 个整数键值,其间以空格分隔。输出格式:如果输入序列是对一棵二叉搜索树或其镜像进行原创 2020-11-03 10:33:08 · 343 阅读 · 1 评论 -
判断一棵树是不是完全二叉树思路
bool check(node *root){ if(root==NULL)//如果树为空,不是完全二叉树 return false; queue<node *>q; q.push(root); while(!q.empty()) { node *top=q.front(); q.pop(); if(top->l&&top->r)//如果左右孩子都存在,入队原创 2020-11-02 20:40:24 · 108 阅读 · 0 评论 -
二叉树的各种操作汇总
#include<iostream>#include<string.h>using namespace std;struct node{ char data; node *lchild,*rchild;};//dbgeafc//dgebfcanode *creatTree()//一行建立二叉树{ node *root; top++; if(a[top]==',') return NULL; else原创 2020-09-19 19:32:49 · 113 阅读 · 0 评论 -
最大公约数与最小公倍数
int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}int lcm(int a,int b){//最小公倍数 return a*b/gcd(a,b);}int main(){ int n,m; while(cin>>n>>m) { cout<<gcd(n,m)<<endl;原创 2020-10-07 17:21:04 · 60 阅读 · 0 评论 -
编程中琐碎的小知识点-持续更新
在math.h或cmath头文件中有四舍五入有关的函数:round函数可以完成四舍五入原创 2020-10-05 19:54:01 · 183 阅读 · 0 评论 -
图的各种操作
#include<iostream>#include<string.h>using namespace std;int visit[10001];int k;typedef struct EdgeNode//边表结点{ int adjvex;//结点下标 int weight;//结点权值 EdgeNode *next;//next指针} Enode;typedef struct VertexNode{ int data;//顶点数原创 2020-09-30 19:13:26 · 94 阅读 · 0 评论 -
C++中的STL中map用法
https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html原创 2020-09-16 15:19:42 · 72 阅读 · 0 评论 -
C++中set库
set的各成员函数列表如下:begin()–返回指向第一个元素的迭代器clear()–清除所有元素count()–返回某个值元素的个数empty()–如果集合为空,返回trueend()–返回指向最后一个元素的迭代器equal_range()–返回集合中与给定值相等的上下限的两个迭代器erase()–删除集合中的元素find()–返回一个指向被查找到元素的迭代器get_allocator()–返回集合的分配器insert()–在集合中插入元素原创 2020-09-16 15:17:57 · 662 阅读 · 0 评论 -
Python学习笔记——主要函数及基本使用(部分与C对比)
实时更新中…文章目录实时更新中...1.函数1.1 title()函数-以首字母大写的方式显示每个单词1.2 合并字符串(与C的区别)1.3 剔除空白1.4 注释1.5 str()函数-让python将非字符串值表示为字符串1.6 range()函数的使用1.7 平方运算2.列表2.1 列表元素的访问2.1列表元素的改变2.2.1 改变:找到对应的数字,直接改变即可,与C中数组下标差不多2.2.2 添加到末尾:append("要添加的元素")2.2.3 删除列表元素2.3 对列表的排序2.3.1 sort原创 2020-07-23 17:45:52 · 597 阅读 · 1 评论 -
链表各种操作
#include<iostream>#include<stdlib.h>using namespace std;struct list { int date; list* next;};void creatlist1(list* head, int n)//正序建立链表方法1{ list* tail, * p; tail = head; for (int i = 0; i < n; i++) { p = new list; cin >&g原创 2020-06-03 15:58:58 · 144 阅读 · 0 评论