- 博客(75)
- 问答 (2)
- 收藏
- 关注
原创 进程控制(跑路人笔记)
这部分我们讲子进程和父进程的各种联系, 学习进程等待,学习进程替换,学习进程终止和?环境变量我们可以使用fork();函数进行创建我们的子进程。还是重新简单介绍一下fork();对父进程返回子进程pid对子进程返回0错误时返回-1我们在进程地址空间(跑路人笔记)中知道了我们fork();创建进程的过程。分配新的内存块和内核数据结构给子进程。将父进程的数据结构拷贝给子进程添加子进程到系统进程中fork返回开始调度。
2022-11-08 12:12:32
622
原创 环境变量<linux> (跑路人笔记)
我们之前说Linux都可以称之为文件。我们的生成的可执行文件和cd这种命令按理都是可执行文件为什么cd这样的系统命令不需要加上./而我们运行我们的可执行程序的时候却要加上./呢?答:系统中存在相关的环境变量,保存了这些命令程序的搜索路径这个环境变量名叫做PATH。PATH:查看方式 echo $PATH我们的系统会在PATH路径内搜索你输入的命令,如果在PATH的内容的路径内就可以直接使用,没有找到就报错。这就是为什么我们使用cd等指令不需要加上路径的原因。
2022-10-05 13:25:01
700
原创 多态《C++初阶》(跑路人笔记)
多态是基于继承而实现的一种方式, 我们可以通过实现不同对象调用相同函数进行不同事情的发生.就像下图一样这里和函数模板实现重载也有些相似都是使用同样的函数实现不同的功能但是,我们的多态可以一次实现多个函数的实现。在很多方面上都是个不错的选择。下面让我们来讲解一下多态的实现及原理等。概念通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态我们的多态是基于继承所实现的,我们用子类来继承父类的虚函数并将其进行重写操作。然后我们使用父类的指针或者引用来实现多态的实现。...
2022-08-03 21:54:36
271
原创 C++继承(跑路人笔记)
面向对象的三大特性:今天我们就讲第二大特性继承.—继承会为下一部分多态设铺垫继承就是从父类中继承下来他的元素用于子类的建设.我们之前使用的代码的复用大部分都是通过将实现的类作为成员的方式来使用,但是总有一些时候我们需要将成员变量函数等复用下来,这时我们就可以用到继承了.首先来看看一个简单的继承的格式是什么样子的.这里的Student类就是继承了Person类.Person类没有什么可说的就是一个普通的类而已,我们来看看Student是如何继承我们的Person类的.继承的格式非常简单 : 就是我们创建的
2022-07-31 21:59:54
647
原创 模板进阶(跑路人笔记)
这里我们的test类就通过特化实现了当类需要对如charint类型进行的特殊化处理.我们在使用模板的时候有可能需要对一些固定的类型做特殊处理不然会使代码出现问题.类型模板参数及跟在class或typename后面的参数类型名称。这里的N是常数,是可以作为数组的初始化长度的存在.这种特化我们称为全特化.及将所有的模板参数进行了特化.及针对特殊的类型进行特殊的函数实现操作.模板特化分为。如上代码就是将当T2类型为char的时候转入的.所以模板的特化我们一般用于类上面.此时就需要对模板进行特化....
2022-07-26 08:41:26
240
原创 list解析<stl初级> (跑路人笔记)
老样子我们还是通过这个文档来介绍我们的list.我们先来简单的介绍一下我们的list,我们的list是一个带头循环双向链表,这样的链表结构十分优秀.如下图而forward_list是单链表,他们相似但是list能向前向后遍历而forward_list只能向后遍历list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代ist的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。...
2022-07-20 11:44:21
729
5
原创 vector的常见接口介绍
vector是C++中stl的一个类,我们用它进行储存各种数据包括但不限于(int,double,string……)甚至可以用vector储存vector的其他容器.我们的vector是通过模板实现的如果大家对模板不熟悉建议先学习模板模板初阶<C++初阶>(跑路人笔记)_就一个挺垃圾的跑路人的博客-优快云博客本次我们还是使用cplusplus网站来讲解vector的接口以及使用.因此,vector占用了更多的存储空间,为了获得管理存储空间的能力,并且以一种有效的方式动态增长。...
2022-07-18 21:55:04
758
原创 linux权限理解
Linux系统中往往是多用户进行开发工作如何对多个用户进行管理呢?因此便有了今天的文章,此文章将对文件权限和用户权限进行部分讲解.下面进入正题:Linux下用户分为两种—普通用户和超级用户(root)可以使用命令来切换用户如要root切换到user就使用su user.普通用户切换为root就可以su root(root可省略)但是要输入对应的口令.再输入口令时Linux是不显示的.Linux对文件的使用者进行了分类,共分为了三类我们来看看上面内容的性质.(我通过画图软件把部分内容放大方便理解)第一个 就是
2022-07-09 17:16:31
749
原创 7.2刷题两个
628. 三个数的最大乘积排序后分情况处理在上面情况中可以看出3情况是判断最多的.但是情况3是的取最大值是可以兼容到124的所以其实我们只需要判断出上面两种情况那个情况的值最大即可.思路和上题类似但是我们不通过排序来得到值了,我们通过线性扫描来得到.1365. 有多少小于当前数字的数字 标注一下:本人并没有学过哈希,这个标题的哈希思想其实也就是本人在经过几次刷题都说这种是哈希思想所以有此标题思路:把数组(数组1及给定的数组)的数字放在另一个数组(我成为数组2)中,将他的值转化为数组2的下标位置,并用数组
2022-07-02 22:11:37
211
原创 爬梯子&&卖卖股份的最佳时期(跑路人笔记)
70. 爬楼梯 - 力扣(LeetCode)刚开始我准备使用递归来解决问题,因为这个其实就是一个斐波那契数列.代码如下但是不行所以我们就可以用现在的滚动数组来解决问题代码如下:
2022-06-20 17:01:27
1810
4
原创 linux基本命令(跑路人笔记)
语法:功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选择:语法: pwd功能: 显示当前用户所在目录语法:cd 目录名功能:改变工作目录。将当前工作目录改变到指定的目录下。举例:语法:touch [选项]… 文件…功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。常用选项语法:mkdir [选项] dirname…功能:在当前目录下创建一个名为 “dirname”的目录常用选项:举例:rmdir&&rm指令
2022-06-17 10:17:40
648
原创 程序员的自我修养--读书笔记 (跑路人笔记)
在早期计算机没有图形功能的时候,cpu的核心频率不高和内存频率一样,所以连接在与内存相同的I/O总线1上.但是后来由于CPU的升级以及图像化的操作普及,使慢速的I/O总线无法满足需求,为了调节CPU,内存,和告诉的图形设备,人们设计了北桥芯片用于处理高速信息的交换,为了保证北桥的结构简单就又设计出了南桥.挺艹的,虽然上面的硬件看着非常复杂但是其实我们不用理解他们我们只需要知道有这三个东西即可.在很久之前我们的CPU因为可以升级物理层面的材料,所以在过去的50年里CPU的频率从几十kHz到现在的4GHz,基本
2022-06-06 08:28:27
1560
13
原创 string的常用接口讲述(跑路人笔记)<stl初阶>
string介绍主要来自网站cplusplus.com我尽量将自己的想法和网站文档给的相结合,增加思考以方便我们的记忆也可以去C++的官网上查看最新的文档记录cppreference.com此篇博客就是要以string为例子讲述第一个网站的使用。string是一个用于表示字符串的类,里面有大量已经封装好的成员,函数等.不过也常有大佬表示string类里塞了太多东西显得十分臃肿不堪.但是作为C++的一个库类他依旧是十分优秀的一个功能,本篇文章就是将string里常用的函数接口向大家介绍一番.(更况且大部分的题
2022-06-05 11:59:58
614
原创 图书管理系统(跑路人笔记)C实现
我也不知道为啥我学食品的也要学C语言,甚至下学期还要学大物绝了。写这篇文章的原因也很简单,我见了太多来问我的同学了所以我干脆将我的代码给大家,如果你会一些C语言的话这篇文章的东西你可以的代码可以改改交上去给你省一些事情,如果你不会C语言的话,我估计也没办法了,建议改改我的菜单然后就交吧,混个及格分应该还是够的(如果要求差别不大的话)不多说了我直接把代码贴上来也不分文件啥的了。注:博主也偷懒了比如我们的时间是直接用字符串的比较实现的虽然知道不对但是我实在懒得改了,因为我感觉我的老师也不会看有这时间不如看
2022-06-04 14:09:04
1734
原创 模板初阶<C++初阶>(跑路人笔记)
主要讲述一下模板怎么用,以及注意事项让我们可以使用模板,后续细节会在模板进阶的时候讲到.先用一下模板给大家看看吧.我们这个Swap函数就可以完成任何类型的调用(前提是a,b类型相同–原因后面会讲).如我们传两个int两个double我们的Swap函数都可以完美运行.来看看吧这个功能的实现其实也是很简单的我们的编译器会根据传来的类型生成一个对应类型的函数,我们先简单看一下VS的反汇编代码吧.看上面两个函数的指令我们就可以看出我们的Swap函数生产了两个.而这就是模板的主要功能:也就是说我们的模板可以无视类型
2022-06-01 14:47:59
305
3
原创 日期0~y年的日子
日期差值主要记录一下日期的算法,老师作业的日期算法惊艳到我了.先看看老师的代码#include <iostream>using namespace std;/**思路:* 1. 分别求出每一个日期与0000年0月1日距离的天数* 2. 两个距离天数相减即可得到两个日期相差的天数*///平年从1月到n月的天数int mon[12] = { 0,31,59,90,120,151,181,212,243,273,304,334 };//给出年月日,计算距离0000年0月1日的
2022-05-30 12:43:57
123
原创 new/delete详解(跑路人笔记)<C++初阶>
文章目录前言new/delete内置类型举例自定义类型举例new失败operator new与operator delete现式调用构造函数new和delete的实现原理malloc/free和new/delete的区别小结前言new和delete是C++为了类的使用方便而创造的操作符,我们在使用C++时应该尽量避免使用malloc和free而应该转向使用new和delete.new/delete内置类型举例new/delete类似于malloc/free但是为了搭配我们的C++的新知识也就是类的
2022-05-29 11:30:04
2641
12
原创 类和对象(跑路人笔记)<完>
文章目录面向对象和过程的初步介绍类类的定义类的访问限定符与封装访问限定符类的实例化(对象)如何计算类的大小this指针类的6个默认生成函数构造函数特性默认构造函数析构函数拷贝构造函数深拷贝操作符重载const成员初始化列表explicit关键字小拓展static成员特性C++11成员初始化更新友元友元函数友元类内部类小拓展(关于类名+()这个匿名对象)小拓展—编译器优化面向对象和过程的初步介绍C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关
2022-05-27 17:57:16
496
9
原创 类的初始认识(跑路人笔记)<一>
文章目录面向对象和过程的初步介绍类类的定义类的访问限定符与封装访问限定符类的实例化(对象)如何计算类的大小this指针面向对象和过程的初步介绍C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。类类其实类似于我们C语言中的结构体,不过有对类进行了较多的修改使其更加优秀.在C语言中我们只能向里面放变量,但是在类里我们可以向里面放函数如下就是一个类class date{p
2022-05-17 09:58:26
447
2
原创 刷题第六天<滑动窗口>(跑路人笔记)
文章目录第六天(滑动窗口)无重复字符的最长子串字符串的排列第六天(滑动窗口)无重复字符的最长子串3. 无重复字符的最长子串 - 力扣(LeetCode)这个解法是一个大佬的做法非常牛逼,而且十分易懂,注释已做讲解.int lengthOfLongestSubstring(char * s){ int start = 0; int end = 0; int map[256] = {0};//本题字符串有英文数字符号和空格组成 int maxlen = 0;//用来
2022-05-15 20:44:07
186
2
原创 算法刷题第五天(跑路人笔记)<双指针>
文章目录第五天链表的中间节点删除链表的倒数第N个节点思路一(自己写法)思路二(双指针)第五天链表的中间节点876. 链表的中间结点 - 力扣(LeetCode)使用快慢指针,fast指针一次走两个节点slow一次走一个节点.当fast或fast->next 走到NULL时我们的slow也就到了中间节点位置/** * Definition for singly-linked list. * struct ListNode { * int val; * struct L
2022-05-14 17:59:34
209
原创 刷题第四天(跑路人笔记)<双指针>
文章目录第四天(双指针)翻转字符串反转字符串中的单词 |||第四天(双指针)翻转字符串344. 反转字符串 - 力扣(LeetCode)双指针一个指向最左一个指向最右, 进行交换即可=.=(好水的一道题)void reverseString(char* s, int sSize){ int left = 0; int right = sSize - 1; while(left < right) { int tmp = s[left];
2022-05-14 17:58:37
119
原创 刷题第三天(跑路人笔记)<双指针>
文章目录第三天(双指针)移动零两数之和方法一(二分查找)方法二(双指针)第三天(双指针)移动零283. 移动零 - 力扣(LeetCode)使用快慢两指针, 慢指针每当快指针找到非零内容时两者数值进行交换慢指针后移,我们的快指针遍历完数值即可结束.void Swap(int*a ,int* b){ int tmp = *a; *a = *b; *b = tmp;}void moveZeroes(int* nums, int numsSize){ int f
2022-05-14 17:57:41
208
原创 C++入门<一> (跑路人笔记)
如何学习C++知乎大佬的见解:http://www.zhihu.com/question/23933514.自己如何学习C++既然C++以复杂的语法规则难搞懂的语法和冗长的格式来劝退众人所以如何学习C++就很重要了.根据比特推荐的方法是写博客画思维导图(到后期) 画思维导图的工具:xmind、imindmap看书初期可以先看看《高质量程序设计指南C++/C语言》—看前大部分前期看看《C++Primer》这本书不建议还没学完语法的时候看因为排布有一些问题,可以当做语言词典使用中后期
2022-05-06 15:37:14
856
原创 合并有序数组(跑路人笔记)
题目3.合并两个有序数组。OJ链接给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。void me
2022-04-30 11:19:29
109
空空如也
静态库建立时引用头文件
2022-05-07
大小端里的高位地位的判断方式
2022-01-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人