【Linux编程】二、Linux常见工具和项目开发(思维导图总结) 什么是软件包?1)在Linux下安装软件,一个通常的办法是下载程序的源代码,并进行编译,得到可执行程序。2)但是这样太麻烦了,于是有些人就把一些常用的软件提前编译好做成软件包(可以理解成Windows上的`.exe`安装程序)放在一个服务器上,通过包管理器我们就可以很方便的获取到这个编译好的软件包,从而直接进行软件的安装。3)软件包和软件包管理器之间的关系,就好比"App"和"应用商店"这样的关系。
【Leetcode刷题笔记之数组篇】26. 删除有序数组中的重复项 给你一个 升序排列 的数组 nums,请你 原地删除重复出现的元素,使每个元素 只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有`k 个元素,那么nums的前 k 个元素应该保存最终结果。 将最终结果插入nums的前 k 个位置后返回 k。 不要使用额外的空间,你必须在 `原地`修改输入数组 并在使用
【Linux编程】一、Linux常见指令和权限理解(思维导图总结) 初步接触Linux -- 黑框命令行的操作 --稍微不适 --坚持一段时间 --就会用的很爽(各种快捷键)为了便于学习和记忆,对命令进行分类(在总结的部分)命令的实用格式:命令名称 [操作选项] [操作对象](注意命令名称与操作选项之间以空格“ ”分割,操作选项和操作对象也是空格分割,用[]括起来是指该选项可能没有,或者不需要表示,例如:ls -al 用来查看当前路径下的文件详细信息 ,并不需要操作对象, pwd 查看当前所处路径,操作选项和操作对象均没有)
【C++基础】三、类和对象(中篇) 如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数。构造函数:在对象构造时调用的函数,这个函数完成初始化工作。构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次
【C++基础】二、类和对象(上篇)(10000字掌握C++类核心内容) C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。以我们的生活中的点外卖为例:面向过程关注的是:如何一步步实现从选餐、订餐、送餐、取餐的各个功能模块面向对象关注的是:点餐用户及用户的操作(比如下单、评价等)、餐店店铺及相应操作(添加新菜品,删除菜品,设置价格等)、送餐人员(所在位置、路径规划、接单等)可以很清楚的感受到,一个关注于过程及其实现,一个关注于一个个对象及其操作。
【C++基础】一、C++基础入门(20000字掌握C++基础知识) 在日常生活中,我们可能会经常碰到一个词表示多重含义,一句话可能也能表示多种含义,虽然写法都是一样的。这个时候,如果我们想要理解这些词和句子表示的真正含义,就需要结合上下文(也就是语境信息)来判断其真正的含义。这些词和句子就被重载了。有趣的小故事:自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载了。比如:以前有一个笑话,国有两个体育项目大家根本不用看,也不用担心。一个是乒乓球,一个是男足。前者是“谁也赢不了! ”(谁也/赢不了),后者是"谁也赢不了!”
【Linux编程】三分钟让你学会Linux下用户密码更改 Linux环境下密码更改包括两种:第一种:root用户(管理员)密码更改第二种:非root用户(普通用户)密码更改可能需要进行密码更改的场景:①购买云服务后,原始的root密码过于复杂,不方便记忆和使用,需要进行root密码更改。②创建一个新的用户后,发现最初设置的密码不好管理,或者之前把这个账号分享给其他人,但是又想要收回账号 。③没啥事情,就是玩儿~一、root用户密码更改总思路:要进行root密码更改,必须在root用户下进行。步骤一:前期准备,登录root用户我们可以直
【Linux编程】手把手教你搭建Linux编程环境 Linux编程环境搭建有两套方案。关于这两套方案我都会做详细的讲解,以便帮助大家减少Linux编程学习的障碍。方案一:云服务器 + Xshell这种方案就是将我们的Linux操作机部署在云服务器上面,然后通过Xshell在自己的电脑上操纵Linux机器。优点:Linux环境部署简单、后期维护成本低、可以随便瞎折腾、不用担心整崩了(推荐) 缺点....
【Linux编程】6个问题带你弄懂Linux Linux是一款`操作系统`,正如我们日常使用的windows,windows也是操作系统。那么操作系统又是什么呢?操作系统是用来管理计算机软硬件资源,向用户和应用程序提供方便的使用接口和系统调用的`系统软件`。其目的主要是①提高计算机资源的利用率②方便用户使用(典型的例子:windows的图形化用户界面)③管理应用程序软件,保证各个任务可以顺序推进和完成。
【数据结构学习笔记】二、线性表之链表篇(3)(双向链表) 双向带头循环链表,也被叫做双链表。这种链表虽然结构比较复杂,(又是双向,又是带头,又是循环,看起来结构好像很复杂的样子)但是实际操作却非常简单。因此在我们的实际工作或项目中常使用的链表是这种。
【Leetcode刷题笔记之链表篇】142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 `next `指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数` pos` 来表示链表尾连接到链表中的位置(索引从` 0` 开始)。如果 pos 是` -1`,则在该链表中没有环。 注意:`pos `不作为参数进行传递,仅仅是为了标识链表的实际情况。`不允许修改` 链表。
【Leetcode刷题笔记之链表篇】141. 环形链表 给你一个链表的头节点 `head` ,判断链表中`是否有环`。 如果链表中有某个节点,可以通过`连续跟踪` `next `指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数` pos `来表示链表尾连接到链表中的位置(索引从` 0` 开始)。如果` pos` 是` -1`,则在该链表中没有环。注意:`pos` 不作为参数进行传递,仅仅是为了标识链表的实际情况。 如果链表中存在环,则返回 `true` 。 否则,返回 `false` 。
【Leetcode刷题笔记之链表篇】160. 相交链表 给你两个单链表的头节点 `headA` 和 `headB` ,请你找出并返回两个单链表`相交`的`起始节点`。如果两个链表`不存在`相交节点,返回 `null `。 图示两个链表在节点 c1 开始相交:理解相交:不是指A链表中有和B链表中val值相同的结点,而是指这个两个链表中存在相同的结点,如果我们通过指针去遍历A、B两个链表,能够在A、B中找到相同地址的结点,那A、B相交,否则就是不相交。
【Leetcode刷题笔记之链表篇】234. 回文链表 给你一个单链表的头节点 `head` ,请你判断该链表是否为`回文链表`。 如果`是`,返回 `true` ;否则,返回` false` 。具有对称性的链表就具有回文结构如果是单数个结点,中间的结点无需考虑,如果其他结点对称肯定是回文结构例如:1 2 3 1 2 也是回文结构这里借助求链表倒数第k个结点的思路。只要链表的.....
【Leetcode刷题笔记之链表篇】21. 合并两个有序链表 将两个升序链表合并为一个新的 `升序` 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 我们可以将list2选为合并后待返回的链表,然后将list1中的结点合并到list2中.注意:在实际写代码的时候,我们会发现仅有一个`next`用来保存`cur1`的下一个结点是不够的。`cur2`的下一个结点的信息也需要保存(`假设`下一个结点`不为空`,若为空直接`cur1`结点插入`cur2`后即可),因为在比较的时候......
【Leetcode刷题笔记之链表篇】面试题 02.04. 分割链表 总体而言,要想实现分割链表的目的有两种大的思路。一种是`不创建新的链表`,直接在`原链表`上面进行相应的操作。另一种是`创建一个新的链表`,将原来的链表`挪到`新链表中,同时达到想要的效果。