自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

可乐不解渴

与其互为人间,不如自成宇宙。

  • 博客(72)
  • 收藏
  • 关注

原创 Leetcode---通配符匹配

????时光匆匆流逝过,平平淡淡才是真。 忍耐任由风雨过,守得云开见月明。

2021-08-18 20:16:15 230 1

原创 Leetcode---最长回文子串

方法一:暴力枚举 class Solution { public: bool isPalindrome(int left,int right,string s) { while(left<right) { if(s[left]!=s[right]) { return false; } ++left;

2021-08-17 18:37:50 154 4

原创 剑指offer---把数字翻译成字符串

????生活有望穿水的期待,也会有意想不到的惊喜。

2021-08-15 12:41:18 201 1

原创 Leetcode---完全二叉树的节点个数

????生活,是一种缓缓如夏日流水般的前进,我们不要焦急。

2021-08-14 03:37:52 524

原创 剑指offer---包含min函数的栈

请代我向可爱的、温暖的太阳问好 ,向宁静的大海问好。 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 ...

2021-08-12 23:12:04 138

原创 Linux环境基础开发工具及使用(yum、vim、gcc、g++、gdb)

摔倒了,就正好躺下来歇歇,只要方向是对的,慢一点也会到。 Yum Yum概述 yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。Yum是rpm系统的自动更新程序和包安装/删除程序。它会自动计算依赖项,并计算出安装软件包应该发生的事情。它使维护机器组变得更容易,而无需使用rpm手动更新每台机器。Yum有一个用于添加简单功能的插件接口。 Yum的设置 添加epel源 例如我们这里是在安装了Cen

2021-08-12 00:18:27 4148 12

原创 C++list模拟实现

努力的最大好处,就在于你可以选择你想要的生活,而不是被迫随遇而安。 ????list模拟实现list介绍构造函数拷贝构造函数析构函数 list介绍 构造函数 拷贝构造函数 析构函数

2021-08-10 13:50:25 163 4

原创 Linux权限

起风的日子学会依风起舞,落雨的时候学会为自己撑起一把伞 ????Linux权限Linux权限概念????如何实现用户账号之间的切换????将普通用户添加到信任列表????‍????提升当前的指令权限????Linux权限管理????文件访问者的分类(人)????文件和目录颜色一般情况????文件类型 ????文件的访问权限????文件权限值的表示方法????改变文件的访问权限????‍????改变用户所属组和文件拥有者????‍????目录的权限????粘滞位???? Linux权限概念???? 在lin

2021-08-05 15:52:08 2330 9

原创 Linux常用指令

Linux常用指令

2021-08-04 14:02:27 2589 12

原创 C++vector模拟实现

完整代码如下 #define _CRT_SECURE_NO_WARNINGS 1 #pragma once #include <assert.h> #include<iostream> using namespace std; namespace ZJ { template<class T> class vector { public: typedef T* iterator; typedef const T* const_iterator; publ

2021-08-01 14:51:49 427 5

原创 C++string类实现

string类实现

2021-07-26 01:15:41 416 8

原创 类和对象之模板

文章目录

2021-06-12 03:01:41 578 5

原创 C++内存管理

文章目录

2021-06-07 02:18:44 612 14

原创 类和对象之友元

二、友元 友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。 2.1 友元函数 友元函数是在类定义中由关键字friend修饰的非成员函数。其格式如下: friend 返沪类型 函数名(形参表) { //函数体 } 示例 class Person { friend istream& operator>>(istream& in, Person&a

2021-06-05 14:12:18 920 1

原创 类和对象之运算符重载

三、运算符重载 3.1 概念 在 C++语言中,可以用关键字 operator 加上运算符来表示函数,叫做运算符重载。 C++编译器在对运算符进行编译处理时,将一个运算符编译成以下形式: 例如两个复数相加函数: Complex Add(const Complex &a, const Complex &b); 可以用运算符重载来表示: Complex operator +(const Complex &a, const Complex &b); 3.2 运算符重载

2021-06-05 01:05:00 600 6

原创 类和对象之对象的构造与销毁

文章目录一、类1.1 类的访问限定符及封装1.2 类的对象大小的计算1.3 `this`指针1.4 构造函数1.5 拷贝构造函数1.6 析构函数1.7 赋值函数1.8 初始化列表1.9 C++11的成员初始化新玩法二、运算符重载2.1 概念三、友元3.1 友元函数3.2 友元类四、`explicit`关键字五、`const`成员六、 `static`成员 一、类 1.1 类的访问限定符及封装 1.2 类的对象大小的计算 1.3 this指针 1.4 构造函数 1.5 拷贝构造函数 1.6 析构函数 1.7

2021-06-01 22:58:00 1076 1

原创 C++入门基础

缺省参数 前言 在C语言中,函数没有指定参数列表时,默认可以接收任意多个参数; 在C++中,因为有严格的参数类型检测,所以,函数没有参数列表时,默认为void,不接收任何参数。 以下是例子: 在C语言中 #include<stdio.h> void test() { } int main() { //函数没有指定参数列表时,默认可以接收任意多个参数 test("Hello world","zhangsan","10"); system("pause"); return 0; } 结果

2021-05-22 03:00:13 192 8

原创 C++入门之命名空间

命名空间 在C/C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。 命名空间的定义 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。 注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。 1.普通的命名空间 //1. 普通的命

2021-05-20 00:58:47 269 7

原创 栈的介绍与实现

栈的概念 栈的概念 栈是限定仅在表的一端进行插入和删除操作的线性表,允许插入和删除的一端称为栈顶(stack top),另一端称为栈底(stack bottom),不含任何数据元素的栈称为空栈。 压栈:栈的插入操作叫做 压栈 / 入栈。(入数据在栈顶) 出栈:栈的删除操作叫做出栈。(出数据也在栈顶) 换言之,任何时刻出栈或入栈的元素都只能是栈顶元素,即最后入栈者最先出栈,所以栈中元素除了具有线性关系外,还具有后进先出(last int first out)的特性。 栈的结构 栈的实现 栈的初始化 首先,我

2021-05-18 22:08:28 164 1

原创 栈与队列面试题一

栈常考面试题有效的括号基本思路方法一:运用stl中的栈写方法二:实现一个栈再写用队列实现栈方法:运用stl中的两个队列实现栈 有效的括号 题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入:s = “()” 输出:true 示例 2: 输入:s = “()[]{}” 输出:true 示例 3: 输入:s = “(]” 输出:false 示例 4:

2021-04-23 20:15:56 422 3

原创 链表二:删除排序链表中的重复元素

删除排序链表中的重复元素前言删除排序链表中的重复元素Ⅰ删除排序链表中的重复元素Ⅱ 前言 单链表由于其结构不是很完美,造成了面试官比较喜欢在单链表上出题。 删除排序链表中的重复元素Ⅰ 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。 返回同样按升序排列的结果链表。 输入:head = [1,1,2] 输出:[1,2] 看到题目我们不要慌忙去写代码,先去画画图把你所想的过程自己一步步推算下去,看看是否能行。 完整代码如下: struct L

2021-04-18 13:07:46 370 5

原创 链表一:寻找环形链表的入口点

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码

2021-04-14 00:27:23 3439 5

原创 预处理

预处理详解

2021-03-30 17:00:05 187 3

原创 动态通讯录

文章目录功能如下初始化通讯录添加联系人删除联系人查找联系人修改指定联系人显示联系人对联系人按姓名排序清空联系人完成代码如下: 功能如下 初始化通讯录 首先,我们知道通讯录中的每个联系人的信息至少包括:姓名、年龄、性别、电话和住址。我们把这些练习人的特点,用一个结构体来描述: //各个数据的最大容量 enum Max { Name_Max = 20, Sex_Max = 6, Tele_Max = 12, Addr_Max = 30, }; //联系人信息结构体 struct PeoInfo { c

2021-03-28 10:50:37 1186 6

原创 动态内存管理

动态内存管理为什么存在动态内存分配动态内存函数1.malloc2.calloc3.realloc4.free 为什么存在动态内存分配 我们最熟悉内存开辟方式有: int val = 20;//在栈空间上开辟四个字节 char arr[10] = {0};//在栈空间上开辟10个字节的连续空间 但是上述的开辟空间的方式有两个特点: 空间开辟大小是固定的。 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。 但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时

2021-03-23 17:21:48 1012 5

原创 结构体、联合体与枚举

结构体、联合体与枚举1. 结构体1.1 结构体类型的声明1.2 结构体变量的定义和初始化1.3 结构体内存对齐1.4 结构体传参1.5 结构体实现位段2. 枚举2.1 枚举类型的定义3. 联合体3.1 联合体类型的定义3.2 联合体类型的特点3.3 联合体大小的计算 1. 结构体 定义:结构体是由一批数据组合而成的一种新的数据类型。组成结构型数据的每个数据称为结构型数据的“成员”。 1.1 结构体类型的声明 例如下面我声明了一个学生结构体类型 描述学生:属性-名字+电话+性别+年龄 struct S

2021-03-09 00:49:17 768 2

原创 C语言字符、内存函数功能及实现

C语言字符、内存函数功能及实现strlen函数模拟实现strcpy函数模拟实现strcat函数模拟实现strcmp函数模拟实现strncpy函数模拟实现strncat函数模拟实现:strstr函数模拟实现strtok函数运用strerror函数运用iscntrl函数运用tolower函数运用touppe函数运用memcmp函数运用模拟实现memmove函数运用模拟实现memset函数运用 strlen函数 函数原型:size_t strlen ( const char * str ); 功能:求字符串长度,

2021-02-09 18:15:01 858 1

原创 5分钟深刻理解sizeof和strlen

深刻理解sizeof和strlen的区别一、sizeof和strlen是什么?二、案例分析Part 1.2.总结 一、sizeof和strlen是什么? sizeof是运算符关键字不是函数,功能是返回一个变量或者类型的大小。 而strlen是库函数,函数求的是字符串的长度。 二、案例分析 在看下面的案例前先要理解下面几句话,才好进行下面案例的环节: 1.数组名单独放在sizeof()内部,数组名表示整个数组,计算的是整个数组的大小,单位是字节 2.&数组名,数组名表示整个数组,取出的是整个数组的地址

2021-02-09 16:03:04 1663 4

原创 C语言qsort()库函数

part 1 认识qsort()函数 qsort()库函数原型如下: /*void* base----指向待排序数据的起始位置的一个指针 size_t size---- 由base指向的数组中元素的个数。 size_t width----数组中每个元素的大小,以字节为单位 int(__cdecl *compare )(const void *elem1, const void *elem2 )----用来比较两个元素的函数,即函数指针(函数回调) */ void qsort( void *base, si

2021-02-02 23:00:13 416 1

原创 C语言运算符、整形提升、截断及整形浮点型存储

C语言运算符、整形提升与截断 文章目录C语言运算符、整形提升与截断前言part 1.位运算操作符part 2.整形提升与截断part 3.计算器的大小端何为大小端part 4.数据存储-浮点型 前言 1.首先需要了解整数储存的机制; 2.原码、反码、补码之间的关系; 2.(1)正整数原码、反码、补码相同,直接进行二进制转换就可;(2^32-1个正整数) 2.(2)负整数32位的首位为符号位(1代表负数);(2^31-1个符数) 我们来说个例子,例如:-1 首先写出-1的补码为: 1000 0000 0000

2021-02-01 23:49:43 2559 1

原创 c语言实现扫雷

一、问题描述 扫雷大家应该都玩过,这是一个Windows系统自带的经典游戏,今天我将给大家讲解如何用C语言实现扫雷。 二、步骤 各个函数的参数具体表示如下: #define _CRT_SECURE_NO_WARNINGS 1 //设置棋盘的大小 #define ROW 9 #define COL 9 #define ROWS ROW+2 #define COLS COL+2 #define mine_size 10 #include<stdio.h> #include &l

2021-01-30 23:15:56 311 2

原创 简易三子棋

@TOC# 系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一级目录二级目录三级目录 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮

2021-01-25 17:30:37 1446 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除