手机随时阅读
1.构造函数1.构造函数赋值和初始化列表#include<iostream>using namespace std;class date{public: date(int year = 1, int month = 1, int day = 1) { //函数体赋值 _year = year; _month = month; _day = day; }
1. 拷贝构造函数1.值传递#include<iostream>using namespace std;class date{public: date(int year = 1, int month = 1, int day = 1)//全缺省构造 { _year = year; _month = month; _day = day; } date(date
@TOC(文章目录)默认成员函数1.构造函数1.概念<fontcolor=blue在对象构造时调用的函数,这个函数完成初始化工作</font2.特性特性13<fontcolor=blue1.没有返回值2.函数名跟类名相同3.对象实例化时编译器自动调用对应的构造函数</font!在这里插入图片描述(https://s2.51cto.com/images/blog/202212/21080609_63
@TOC(文章目录)1.封装第一点<fontcolor=red1.将数据和方法放到定义一起</font<fontcolor=Bluec类的成员函数即方法,成员变量即数据</fontcinclude<iostreamusingnamespacestd;classstack{public:voidpush(intx);//成员函数private:intb;//成员变量};intmain(){retur
@TOC(文章目录)题目1.在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例1:输入:7,5,6,4输出:51.错误示范cintreversePairs(intnums,intnumsSize){inti=0;intj=0;intsum=0;for(i=0;i<numsSize;i){for(j=i+1;j<numsS
@TOC(文章目录)1.归并排序递归1.基本思想主要使用了<fontcolor="blue"size="3"分治思想即大事化小,</font先使每个子序列有序,子使序列段有序,将两个有序表合并成一个有序表!在这里插入图片描述(https://s2.51cto.com/images/blog/202212/08090442_6391382a2f15461832.png?xossprocess=ima
@TOC(文章目录)1.yum1.主要概念理解!在这里插入图片描述(https://s2.51cto.com/images/blog/202212/02162633_6389b6b9e5e1e10026.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,sh
1.进入一个目录需要什么权限?1.去掉r(读)功能当我们把mydir目录拥有者读的功能去掉后,发现可以进入mydir目录中!在这里插入图片描述(https://s2.51cto.com/images/blog/202212/01085627_6387fbbbf1bec19883.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6
@TOC(文章目录)力扣100.相同的树给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1:输入:p=1,2,3,q=1,2,3输出:true示例2:输入:p=1,2,q=1,null,2输出:false示例3:输入:p=1,2,1,q=1,1,2输出:false!在这里插入图片描述(https://s2.51
@TOC(文章目录)一、重定向1.输出重定向:1.写入指定文件croot@VM88centoslesson5catfile.txtroot@VM88centoslesson5echo"helloworld"file.txtroot@VM88centoslesson5catfile.txthelloworldroot@VM88centoslesson5catfile.txttest.croot@VM
@TOC(文章目录)1.sort指令使用vim编辑器,在888.txt文件中输入内容cyzq@VM88centos6.6vim888.txtyzq@VM88centos6.6cat888.txt11112222333344444444443333338888这里vim编辑器的用法先不用了解,记住使用a后输入你想要打印的内容最后使用ESC:wq退出vim编辑器sort——升序对应文本内容按行为单位进
@TOC(文章目录)一.堆排序1.使用向上还是向下调整建堆好?(1)向上调整算法建堆的时间复杂度cvoidadjustup(HPDatatypea,intchild)//向上调整算法{intparent=(child1)/2;while(child0){if(aparent<achild)//以大堆为例{swap(&aparent,&achild);child=parent;parent=(chi
@TOC(文章目录)1.堆的基本概念1.概念如果有一个关键码的集合K={,,,…,},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:<=且<=(=且=)i=0,1,2…,则称为小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。2.性质1.必须为完全二叉树!在这里插入图片描述(https://s2.51cto.com/images/blog
引用1.概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编不会为引用变量开辟内存空间,它和它引用的变量公用一块内存空间例1比如说李逵,在家称为"铁牛",江湖上人称"黑旋风"这两个称号都是他的!image.png(https://s2.51cto.com/images/202211/82581a5500c613bb37e838c86a466e210b76e1.png?xossprocess
题目请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()从队列的开头移除并返回元素intpeek()返回队列开头的元素booleanempty()如果队列为空,返回true;否则,返回false说明:你只能使用标准的栈操作——也就是只有 pushtot
题目请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop和empty)。实现MyStack类:voidpush(intx)将元素x压入栈顶。intpop()移除并返回栈顶元素。inttop()返回栈顶元素。booleanempty()如果栈是空的,返回true;否则,返回false。注意:你只能使用队列的基本操作——也就是 pushtoback、
题目设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircularQu
题目给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。注意:解集不能包含重复的组合。 示例 1:输入:candidates= 10,1,2,7,6,1,5,target= 8,输出:1,1,6,1,2,5,1,7,2,6示例 2:输入:
题目找出所有相加之和为 n的 k 个数的组合,且满足下列条件:只使用数字1到9每个数字 最多使用一次 返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。示例1:输入:k=3,n=7输出:1,2,4解释:1+2+4=7没有其他符合的组合了。示例2:输入:k=3,n=9输出:1,2,6,1,3,5,2,3,4解释:1+2+6=91+3+5=92+3+4=9没有其他符合
题目给定一个仅包含数字 29 的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母!image.png(https://s2.51cto.com/images/202211/946d40890ce5d39b478664f8f8aa7b1595fde7.png?xossprocess=image/watermark,size_
题目给定两个整数n和k,返回范围1,n中所有可能的k个数的组合。你可以按任何顺序返回答案。示例1:输入:n=4,k=2输出:2,4,3,4,2,3,1,2,1,3,1,4,示例2:输入:n=1,k=1输出:1代码intpath;intpathTOP;intans;intansTOP;voidbacktracking(intn,intk,intstartIndex)//n代表总数,k代表每个集合中的
题目给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如,如果原链
题目给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。如果剩余字符小于2k但大于或等于k个,则反转前k个字符,其余字符保持原样。示例1:输入:s="abcdefg",k=2输出:"bacdfeg"示例2:输入:s="abcd",k=2输出:"bacd" 代码voidreverse(chars,intlef
题目给定两个数组 nums1 和 nums2,返回它们的交集 。输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。示例1:输入:nums1=1,2,2,1,nums2=2,2输出:2示例2:输入:nums1=4,9,5,nums2=9,4,9,8,4输出:9,4解释:4,9也是可通过的 提示:1<=nums1.length,nums2.length<=10000<=nums1i,nu
题目给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若 s和t 中每个字符出现的次数都相同,则称 s和t 互为字母异位词。示例 1:输入:s="anagram",t="nagaram"输出:true示例2:输入:s="rat",t="car"输出:false1<=s.length,t.length<=5104s和t仅包含小写字母代码展示boolisAnagram(chars,
本人在刷链表题时,由于是新手,所以老是过不去,需要调试,力扣会员开不起,在VS自己创建一个链表太麻烦,所以就有了今天这个对于懒人的调节力扣链表便捷器这个东西很简单,但是很有效@TOC(文章目录)1.编写代码打开VS,将如下代码复制粘贴cinclude<stdio.hinclude<stdlib.hstructListNode{intval;structListNodenext;};structLi
分步解析对于game函数的解析!image.png(https://s2.51cto.com/images/202210/a172c220700e12fbdef1262965f3e6a4cc9b52.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shad
实现一个函数,将一个字符串的每个空格替换成"%20",例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy.代码实现cinclude<stdio.hinclude<string.hvoidreplaceSpace(charstr,intlength){intsum=0;charcur=str;while(cur!='\0'){if(cur''){sum;}
@TOC(文章目录)1.ProcBar.h主要记录了函数的定义cifndefTEST_H_defineTEST_H_include<stdio.hinclude<string.hinclude<unistd.hdefineM101endif使用ifndefTEST_H_defineTEST_H_endif,是防止头文件被重复多次包含2.makefile使用vimmakefile,进入vim编辑器c
@TOC(文章目录)一、gdb的使用1.可执行程序的创建1.mytest.cvimmyetst.c如果没有创建就会默认创建一个mytest.c文件,并进入vim编辑器cinclude<stdio.hintmysum(inttop){inti=0;intsum=0;for(i=1;i<=99;i){sum+=i;}returnsum;}intmain(){printf("proessbeginrun
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号