自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 带你攻克string相关OJ题

一、HJ1字符串最后一个单词的长度描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。题解思路:主要是找到最后一个空格,再开始计数,那么如何找最后...

2023-09-02 10:30:42 116

原创 初识---数据库系统

数据库是电子化的信息集合,通俗一点来说是将信息规划化并电子化,形成库,以便计算机对信息的存储、检索、统计与管理。数据库系统由数据库、数据库管理系统(及其应用开发工具)、应用程序、数据库管理员四部分构成。那么还是比较抽象我们在对上面这个图进行实例化。帮助我们理解DBMS是一个大型复杂的基础软件系统,位于用户与操作系统之间的一层数据管理软件。DBMS能够科学地组织和存储数据、高效地获取和维护数据。

2023-08-30 21:40:00 122

原创 yum源和vim快捷指令

一、Linux安装软件1.源代码安装2.rpm安装(包之间的依赖关系) -----linux安装包3.yum安装 ------解决安装源,安装版本,安装依赖二、linux的软件生态1.开源,是一种商业战略2.开源也有时候贵(对linux操作系统的强依赖关系)操作系统选型:a:主要看谁的生态好开源也去促进linux操作系统...

2023-08-28 21:32:26 118

原创 深入理解Linux权限管理:掌握文件和目录权限设置

假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask。我们通过ls或者ll 指令获得当前文件下所有文件的信息,那么这些信息如何进行阅读来知道这是一个什么文件,文件名是什么、是否被修改过、是否能执行等等。说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。为了防止当有了可写的权限后就能对目录中的文件进行删除即使不是文件的所有者。当想修改的这个文件目录下所有文件都修改为相同的文件拥有者,加上参数-R。我们在生成文件的时候会采用默认的文件掩码来设置文件的权限。

2023-08-27 16:23:44 248

原创 C/C++百日刷题第三天

一、选择题1.1、如下代码输出的是什么( ) char a=101;int sum=200;a+=27;sum+=a;printf("%d\n",sum);A: 327 B: 99 C: 328 D: 72 题解:这题考察对常见数据结构存储的理解,容易出错在a+=27这个地方,char类型的数据存储范围为-128--...

2023-08-27 11:48:39 95

原创 《深入理解C++友元函数和拷贝对象时的编译器优化》

一、友元类当一个函数被声明为友元函数时,它可以访问其它类中的私有成员变量及方法。友元函数不是定义在类中的成员函数,但是它可以访问该类中的私有成员,并且友元函数的执行与类的对象无关。1.1友元函数实例在C++中,要声明一个函数为友元函数,需要在函数的声明或定义中使用 friend 关键字。例如:class MyClass {...

2023-06-08 14:13:21 61

原创 C++ STL string初探:string类剖析

一、string的基本概念1.1string是管理字符数组的类常见的初始化使用场景:无参构造和拷贝构造string s1; //无参构造string s2("hello world"); //有参构造对string类的总结:string是表示字符串的字符串类该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作s...

2023-06-01 12:04:17 50

原创 内存泄漏、缓存溢出?C和C++,哪个更懂得管理内存质量?

当我new了一个类类型的数组的时候,再进行delete,会进行重复调用构造函数和析构函数特别注意的是 自定义类型定义的数组,需要有默认构造,供其调用,否者会提示编译不通过什么是内存泄漏:内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏的危害:长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现内存泄漏会导致响应越来越慢,最终卡死。

2023-05-29 11:14:50 61

原创 运算符重载:以日期类为例,让你彻底掌握运算符重载技巧

一、运算符重载1.1运算符重载C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。关键字: operator后面接需要重载的运算符符号函数的原型: 返回值类型 operator 操作符(参数列表)注意:不能通过连接...

2023-05-08 18:42:31 106

原创 【算法基础】DFS深度优先算法 —— AcWing 843. n-皇后问题 AcWing 842. 排列数字

n-皇后问题是一个经典的dfs深度优先遍历的题目,在题解这一题之前,将由浅入深,先讲解一个n-皇后问题的母题。-------AcWing 842. 排列数字 [AcWing 842]. 排列数字题目概述给定一个整数n,将数字1∼n排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行...

2023-05-07 20:09:48 115

原创 “复制”不只是Ctrl+C和Ctrl+V!深浅拷贝你都要知道

拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。深拷贝是指在程序中对于一个数据结构进行复制时,对该数据结构内所有层次的引用和子引用,以及包含在其中的数据对象进行递归式的拷贝,从而产生一个新的数据结构,与原始数据结构互不干扰。拷贝构造函数是 C++ 中的一种特殊的构造函数,与普通构造函数不同,它的参数是该类对象的引用。

2023-05-04 21:14:07 68

原创 10分钟搞定!C++类中构造函数和析构函数的完全指南

要了解构造函数就要先了解一下,类的6个默认成员函数,如下图:构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有 一个合适的初始值,并且在对象整个生命周期内只调用一次。通俗一点来理解就是解决我们最烦的初始化问题。相当于在创建对象的时候自动调用或者编译自动生成来进行初始化。构造函数一般情况下,有内置类型成员变量,就要考虑自己写构造函数,因为默认的构造函数对内置类型成员变量不处理(部分编译器处理),所以不能用编译器生成的,得自己显式写一个构造函数。

2023-05-01 15:52:28 262

原创 零基础也能学会!Hadoop伪分布式集群安装与配置实践

Hadoop是典型的分布式系统,原则上需要在至少3个节点构成集群上进行安装完全分布式系统。但是,出于学习的目的,在资源受限的情况下,可以有简化的安装模式,比如由单个节点构成的伪分布式安装(仍然通过网络进行节点访问,但是访问的IP地址:127.0.0.1就是本机地址)。

2023-04-30 03:09:36 1060

原创 轻松掌握C++!初学者必看——初阶基础(二)详解

一、缺省参数C++中可以为函数参数设置缺省值,这意味着在函数调用中未提供该参数时,将使用默认值。这样可以使函数调用更加简洁。缺省参数可以大致分为:全缺省参数和半缺省参数下面是一个例子:#include <iostream>using namespace std;//全缺省参数int sum(int a =...

2023-04-28 15:16:08 34

原创 暴击一棵树之------线索二叉树

一、线索二叉树概述线索二叉树是一种特殊的二叉树,它通过添加线索(thread)来将一棵普通的二叉树转化为可以快速遍历的二叉树。线索化就是将一个结点的指针空闲时利用起来,指向该节点的前驱或后继,这样就可以在不使用递归的情况下实现对树的遍历。由于线索化的过程可以提前完成,因此线索二叉树具有很好的时间和空间优势。二、线索二叉树的...

2023-04-28 01:40:33 128

原创 手撕一棵树之-----二叉树常见OJ面试题

说明:对二叉树知识不熟悉和遗忘的小伙伴可以看我往期博客点击——【数据结构入门】二叉树(BinaryTree) 详解(链式、顺序、初始化、遍历、高度、节点个数、排序)查看。所有题解为本人思考的思路,欢迎各位51CTO的大佬评论指点和纠错分享更多解题思路~~~。1.二叉树oj—单值二叉树解题思路:整体采用分治的思想。不想当打...

2023-04-24 22:29:09 39

原创 从零开始学习C++ 类与对象(一)

1.面向过程和面向对象初步认识面向过程更加关注解决问题的过程和步骤。而面向对象关注的是对象,对一个事情拆分成不同的对象,靠对象之间的交互实现。例如:外卖系统面向过程:上架→点餐→派单→送餐注重过程步骤面向对象: (更加贴近现实之间的业务逻辑交互)骑手→商家←用户注重对象和对象之间的交互对面向对象编程方式的看法:面向对象是面...

2023-04-23 18:15:30 37

原创 【数据结构入门】二叉树(BinaryTree) 详解

因为我们把数据存储在数组里面,物理存储是连续的,逻辑关系是树状关系,树之间的逻辑关系的维持是通过下标来找到父亲节点和孩子节点,向上调整是建堆的过程,父亲节点和孩子节点不断比较,将大数或者小数向上调整,来建成大堆或者小堆。实现思路:为了不使大堆或者小堆的性质发生改变,先把top元素和最后一个元素交换位置,让后再向下调整,保持原来的性质,再不断调整递归,删除一次递归调整数据个数-1,删除越多把数据放到后面的越多,那么数据进行向上调整的越少。:一个结点含有的子树的根结点称为该结点的子结点;

2023-04-20 22:46:59 640

原创 【数据结构入门】队列(Queue)详解(初始化、出队、入队、查询、判空、销毁)...

一、队列是什么?队列本质上一个一个特殊的线性结构。和栈相似,主要在插入删除位置上有所区别,都可以用顺序结构或者链式结构实现。在实际使用中我们经常是用链表来实现队列。通常我们要实现先进先出(FIFO)的操作。在队列中,新元素插入到队列的尾部,已有元素从队列的头部删除。接下来我来介绍一下队列的实现。二、队列的结构我们规定:出数...

2023-04-03 11:43:53 1210

原创 【数据结构入门】栈(Stack)详解(初始化、增、删、查、判空)

1、栈1.1栈的概念及结构栈(stack)是限定仅在表尾进行插入或者删除的线性表。对于栈来说,表尾端称为栈顶(top),表头端称为栈低(bottom)。不含元素的空表称为空栈。因为栈限定在表尾进行插入或者删除,所以栈又被称为​​后进先出​​的线性表(简称LIFO:​​Last in, First out.​​结构)。压栈:...

2023-03-14 22:36:17 360

原创 【数据结构入门】带头双向循环链表(List)详解(初始化、增、删、查、改)...

1、链表的种类:总共有8种,以带不带头,单向或者双向,循环或者不循环来组合形成。单向或者双向带头或者不带头循环或者非循环主要学习下面两种链表的功能实现无头单向非循环链表:又叫单链表,结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。<详...

2023-03-12 17:14:23 93

原创 【数据结构入门】单链表(SList)详解(增、删、查、改)

1、链表的概念及结构1.1链表的概念概念:链表是一种物理存储结构上非连续、非顺序的存储结构,但链表在逻辑上是连续的,顺序的,而数据元素的逻辑顺序是通过链表中的指针连接次序实现的。1.2 链表的结构链表是由一个个结点组成的,结点如下图所示注意:链表中的最后一个结点的next指向空,next=NULL。一个个结点串成了链表,如...

2023-03-08 22:20:00 285

原创 C/C++百日刷题第二天

尼科彻斯定理验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。数据范围:ps:一开始写的时候想暴力法,傻傻的去写,后面写着发现规律,发现是数学题的代码...

2023-02-28 22:41:58 55

原创 超详细深度探究!数据是如何在内存中存储的

深度探究!数据是如何在内存中存储的第一部分 关于原码、补码、反码相关知识细讲一、探究正整数和负整数的原码、补码、反码计算机中的整数有三种2进制表示方法,即原码、反码和补码。 三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位为0的正数的原、反、补码都相同。正整数的表示形式以...

2023-01-06 23:23:35 48

原创 C/C++百日刷题第一天

猜名次5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。审题思路:A,B,C,D,E选手说的可以看作是5个条件,每个条件只有一半是...

2023-01-06 21:04:09 64

原创 game1------三子棋的实现历程(c语言实现)

三子棋设计整体思路1.菜单的实现设计一个菜单函数为主函数进行调用来备用,不需要返回值所以函数的类型为void。void menu()//菜单{ printf("*****************************\n"); printf("******** 1. play ******\n"); p...

2022-11-10 21:20:33 27

原创 我的第一篇博客

自我介绍51CTO的大佬们大家好,我叫贺实强,今年18岁,来自西安文理学院。就读专业为数据科学与大数据技术专业。c语言编程只学了点皮毛,还是个菜鸟。编程目标第一次写博客记录自己的代码分享,通过不段分享,积累实战经验。学习编程的目标有几个,第一个是准备考研为专业课130+以上进行准备;其次是为了打好编程基础,能独立自主完成一...

2022-10-27 16:41:24 22

空空如也

空空如也

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

TA关注的人

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