自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构C++ --- Stack

一. 栈stackstack也是一种线性结构, 其特点是LIFO, 后进先出. 最后进入栈的元素先出栈stack是一个操作受限的线性结构, 底层空间可以是连续的也可以是不连续的只需向上层提供对stack的入栈, 出栈, 取栈顶, 判断栈为空, 栈的大小等操作二. STL中的stackSTL中对栈的描述:1.stack是一种容器适配器,专门用在具有后进先出操作的上下文环...

2019-06-21 17:24:16 426

原创 数据结构C++ --- Vector

一. 动态数组和vector数据结构刚开篇就是一种最基础的存储结构线性结构, 线性结构中每一个结点都只有一个前驱后继(除去首尾)线性结构是逻辑上连续的存储结构物理空间上连续存储的线性结构可以是数组, 动态数组等物理空间不连续的线性结构是链表C++STL中的vector(动态数组)就是一个线性结构二. 自己实现简单的Vector1. Vector 成员的声明和默认成员...

2019-06-14 17:37:09 995

原创 C++学习(二) --- 类和对象(2)

一. 类的6个默认函数如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数(c++98)分为:初始化和清理: 构造函数 --- 初始化 析构函数 --- 清理拷贝和赋值: 拷贝构造 --- 拷贝 (涉及深浅拷贝) ...

2019-06-02 23:58:40 121

原创 C++学习(二) --- 类和对象(1)

一. 类的定义class/struct ClassName{private: int a;public: void fun();};class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号。类中的元素称为类的成员:类中的数据称为类的属性或者成员变量; 类中的函数称为类的方法或者成员函数C++中struct和c...

2019-06-02 15:23:56 128 1

原创 Linux_网络---TCP(1)

一. 主机字节序和网络字节序32位机器CPU一次至少装载4字节, 这4字节在内存中的排列顺序就是字节序字节序分为大端字节序: 低地址存高位 小端字节序:低地址存低位利用union验证本机的字节序:int main(){ union { char a; int b; } test; test.b = 1;...

2019-05-27 00:11:32 98

原创 Linux_网络基础(一)

一. 协议 ---"协议" 是一种约定1. 协议分层是一种协议封装, 便于使用对服务, 接口, 协议 进行明确的划分; 形成标准实现起来就简单2.OSI七层参考模型 (了解)物理层 数据链路层 网络层 传输层 会话层 表示层 应用层3.TCP/IP五层(或四层)模型TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP...

2019-05-22 16:27:02 107

原创 Linux_线程基础

一. 线程概念1. Linux线程1. 在传统的操作系统中, 进程就是一个运行中的程序的描述信息 --- pcb, 控制程序的运行2. 在Linux下的线程使用进程来模拟, 每个线程都是一个pcb, 同个进程中的线程共用虚拟地址空间, 进程就是一个线程组, 其 中至少有一个线程3. 因为cpu运行调度pcb, 所以线程是cpu调度的基本单位 因为多个线程共...

2019-05-14 00:14:29 71

原创 C++学习(一) --- 入门

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

2019-05-12 22:46:55 105

原创 Linux_进程间通信(1) --- 管道

一. 进程间通信目的进程间通信 IPC (Inter-Process Communication) 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止 时要通知父进程) 进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够...

2019-05-06 00:22:39 85

原创 Linux_进程控制

一.进程相关操作1.进程创建#include <unistd.h>pid_t fork(void);返回值:子进程中返回0,父进程返回子进程id,出错返回-12.进程等待进程等待的必要性:1.子进程退出, 如果父进程不管, 会成为僵尸进程, 造成资源泄漏2.进程一旦变成僵尸进程, 不能被 kill3.父进程需要知道子进程运行完成的返回4.父进程通...

2019-04-30 15:01:32 104

原创 Linux_进程概念

调研进程的调度算法.调研task_struct结构体, 理解结构体中的各个字段的含义.使用代码模拟实现僵尸进程, 孤儿进程的场景.同学们课后自行找到 <<深入理解计算机系统>> 虚拟内存相关章节.同学们课后自行找到 <<操作系统精髓设计原理>> 进程相关章节.练习使用setenv, export等环境变量相关的函数和命令....

2019-04-26 13:04:19 95

原创 Linux_常用工具

1.编辑器vimvim可以配置丰富的插件, 但是学习难度比较高.Emacs2.编译器gccgcc编译流程:1. 预处理 gcc -E main.c -----> main.i 宏替换, 头文件展开, 条件编译2. 编译 gcc -S main.i ------> main.s 语法检查, 生成汇编代码3. 汇编 ...

2019-04-23 14:44:00 110 1

原创 Linux_基础

1.Linux下的重要目录/bin : 存放可执行二进制文件的目录, 一般是系统指令, 如常用的命令ls、tar、mv、cat,/usr/lib :存放可执行二进制文件的目录, 一般是自己安装的软件运行脚本, 如 gcc/usr/local :主要存放手动安装的软件, 比如jdk/var : 放置系统执行过程中经常变化的文件,如随时更改的日志文件, 邮件/tmp : 放置linux系...

2019-04-15 19:26:14 76

原创 C语言操作符总结

一. 算数操作符 1. 算数操作符有 + -  * /  % 除了 % 外其他都可以操作浮点数.2. %操作符两个数必须都是整数,返回两个数的余数.3. / 两个操作数都为整数时,返回的结果也是整数,有浮点数执行时就是浮点数(算数转换)二. 移位操作符1. 移位操作符分为左移操作符 &lt;&lt; 和 右移操作符  &gt;&gt;.2.左移操作符的移位规则很简单,左边抛...

2018-11-25 21:18:43 86

原创 C语言练习(7)

1.递归和非递归分别实现求第n个斐波那契数。非递归:int FibNotRecursion(int n){ if (n &lt; 1) { printf("输入不合法"); return -1; } int preNum = 1; int prePreNum = 1; int result = 1; for (int i = 2; i &lt; n ; i+...

2018-11-07 22:50:29 191

原创 C语言练习(6)

 1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。void PrintMuliteList(int line){ for (int i = 1; i &lt;= line; i++) { for (int j = 1; j &lt;= i; j++) { printf(" %d * %d =...

2018-11-05 00:17:27 128

原创 C语言练习(5)

1.完成猜数字游戏int GameInit(){ int choose = 0; printf("1.开始游戏\n"); printf("2.退出游戏\n"); printf("输入数字(1 or 2) : "); scanf("%d" , &amp;choose); return choose;}void GameLoop(){ int guess = 0; ...

2018-11-02 14:20:42 166

原创 C语言练习(4)

 1.在屏幕上输出以下图案:      *     ***    *****   *******  ********* ************************ ***********  *********   *******    *****     ***      *void PrintDiamond(int k){ int line = k;...

2018-10-31 22:41:43 113

原创 C语言中static、exterrn关键字的用法

    在大一学习的时候,只学习了C语言的基本的语法,并没有学习和使用过static、external等关键字,所以现在总结一些以前没有用到或很少用过的知识点。 一.存储类型的基本概念和static修饰局部变量的用法变量的存储类型是指存储变量的内存类型。有三个地方可以存储变量:普通内存、运行时堆栈、硬件寄存器。普通内存:凡是在代码块之外声明的变量总是存储于静态内存中,在程序的整个执行期...

2018-10-31 19:18:52 554

原创 C语言练习(3)

1. 将数组A中的内容和数组B中的内容进行交换。(数组一样大)#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;void PrintArr(int* arr, int count);int main(){ //1. 将数组A中的内容和数组B中的内容进行交换。(数组一样大) int A[5] = { 1 , 2 , 3 , 4 , ...

2018-10-28 21:44:55 155

原创 C语言练习(2)

1. 给定两个整形变量的值,将两个值的内容进行交换。#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main(){ //1. 给定两个整形变量的值,将两个值的内容进行交换。 int num1 = 10; int num2 = 20; int temp = 0; temp = num1; num1 = num2;...

2018-10-28 19:33:33 113

原创 C语言练习(1)

1. 打印100~200 之间的素数#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main(){ //1. 打印100~200 之间的素数 int temp = 0; for (int i = 100; i &lt;= 200; i++) { for (int j = 2; j &lt; i; j++)...

2018-10-24 22:15:33 94

空空如也

空空如也

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

TA关注的人

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