自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农印象

努力做好一个文邹邹的工具人,你做的越多,你知道的越多!

  • 博客(24)
  • 资源 (6)
  • 收藏
  • 关注

原创 【集锦】4-Static专题

1.static修饰普通变量static修饰全局变量:1.作用域:改变链接属性,只在本文件有效,即使extern外部声明也不行,其他文件可定义相同名字的变量2.初始化:只能被初始化一次,如果是整型不初始化就会自动赋值为0,字符型初始化为空3.存储区:静态存储区没变static修饰局部变量:1.作用域:改变链接属性,生命周期在整个文件有效,但是出了其作用域便不可再用,因此作用域不...

2019-03-25 22:48:53 187

原创 【数据结构】数组实现两个栈即共享栈

前言1.奇偶占位法2.首尾相遇法一个数组实现共享栈是一个经典的算法,这些年也备受笔试/面试的青睐,其核心思想不难,但是对于临界点的把握是比较容易出错的,下面列举出两种常用方法。1.奇偶占位法如下图所示,对stack1进行偶数位压栈,对stack2进行奇数位压栈。top即栈顶,分别指向当前栈中最后一个元素的下一个将要压栈的位置。栈的数据结构较为简单,这里就不对其push、pop等操作过多描述,...

2019-03-23 13:21:28 527

原创 【数据结构】再谈堆与优先级队列

前言1. 完全二叉堆2. 最大堆和最小堆3. 源代码及注释4. 优先级队列堆是继栈、队列以及二叉树之后又一个重要的数据结构,堆在底层也是没有自己的容器的,而是通过binary heap这种complete binary tree(完全二叉树)来实现的。下面就堆的实现原理及底层容器作以阐述和实现。1. 完全二叉堆complete binary tree(完全二叉树),整棵树除了最底层的叶节点之...

2019-03-23 03:23:48 233

原创 【C++】set、map、multiset、multimap的用法简介

前言一、STL::set特性二、STL::map特性三、STL::multiset特性RB-tree是一种平衡二叉搜索树,自动排序效果很不错,所以标准的STL中set、map即以RB-tree作为底层的数据结构,set与map所开放的各种操作接口,RB-tree基本上都提供了,因此·set、map都只是调用红黑树的方法对外层的一次封装而已。一、STL::set特性1)set的元素的键值就是实...

2019-03-23 03:07:14 1235

原创 【数据库】 B+树、B*树及MySQL的两种引擎

前言本篇博客继承前面B-树,对B-树的变种B+/B*树展开分析,以及MySQL数据库的两个引擎MyISAM与InnoDB作以阐述,文中引入了部分网上资料。B+Tree的定义与特性B+树作为B-树的一个变种,也是一种多路搜索树。其定义基本与B-树没有区别,除了以下几点:1)非叶子结点的子树指针域关键字个数相同。2)非叶子结点的子树指针P[i],指向关键字属于([K[i],K[i+1]])的...

2019-03-23 02:55:03 1040

原创 【C++】异常处理机制深度剖析

前言一、C异常处理机制二、C++异常机制1. 异常的抛出(throw)与捕获(catch)2. 栈展开3. 异常捕获的匹配规则4. 异常的重新抛出5. 异常规范6. 异常之构造函数与析构函数6. C++异常的优缺点程序在运行过程中有些错误是可以预料但不可避免的,这时就要力争做到·允许用户排除错误,继续运行程序,或者至少给出适当的提示信息、C/C++都有各自的异常处理机制。无疑异常处理成为了所有预...

2019-03-23 02:16:13 1240

原创 【数据结构】图简介

前言一、图的概念二、图的术语三、图的表示1. 邻接矩阵2. 邻接表和逆邻接表3. 十字链表四、总结一、图的概念究竟什么是图呢?大家先来想一想咱们常用的互联网产品。举个栗子,大家一定都用过微信,假设你的微信朋友圈中有若干好友:张三、李四、王五、赵六、七大姑、八大姨。而你七大姑的微信号里,又有若干好友:你、八大姨、Jack、Rose。微信中,许许多多的用户组成了一个多对多的朋友关系网,这...

2019-03-22 19:44:37 329

原创 【算法精练】位运算 && 阶乘

位运算最近碰到很多通过巧妙着`来巧妙解决复杂问题的算法,今天分享的这道题,或许能够开拓你的一些算法思维。案例一有一组存放 ID 的数据。并且 ID 取值为 0 - (N-1) 之间,其中只有一个 ID 出现的次数为 1,其他的 ID 出现的次数都等于 2,问如何找到这个次数为 1 的 ID ?解法一:巧用数组下标我的第一想法便是采用下标法来解决,把 ID 作为数组 arr 的下标,在...

2019-03-22 18:43:15 823

原创 【笔试集锦】并查集 && 大数打印

题目已知有n个人和m对好友关系存储于r中,如果两个人是直接或间接的好友,则认为他们属于同一个朋友圈,编程求出这n个人里一共有多少个朋友圈?比如:n=5,m=3,r={{1,2},{2,3},{4,5}},则认为1、2属于一个朋友圈,2、3是一个朋友圈,4、5是一个朋友圈,则1、2、3属于同一个朋友圈,4、5属于另一个朋友圈,共有两个朋友圈。并查集的实现过程并查集是一种树形数据结构,用于...

2019-03-22 15:05:00 309

原创 【Linux】浅析进程池与线程池

前言一、池的引入二、进程池与线程池三、简单线程池的模拟实现池是一种用·空间换时间的行为,比如我们常见的计算机的本地缓存、代理服务器、高速缓存等都是池或池的变种,它有效的避免了不同设备之间的频繁切换,从而提高了运行效率。一、池的引入池是·一组资源的集合,有静态、动态资源分配之分。一组资源在服务器启动之初就完全被创建并初始化,称之为静态资源分配。当服务器运行时,如果需要资源,就可以直接从池中获...

2019-03-21 17:44:04 942

原创 【C语言】容易遗漏的atoi

atoi难就难在很少有人能考虑到它所涉及的各个方面,因此觉得有必要写一篇文章来详细阐述一下令不少程序猿遗憾的atoi。函数原型【头文件】#include <stdlib.h>【函数原型】atoi() 函数用来将字符串转换成整数(int),其原型为int atoi (const char * str);【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(...

2019-03-19 21:13:30 691

转载 【Linux】进程同步方法

进程同步的四种方法1、临界区(Critical Section):通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。优点:保证在某一时刻只有一个线程能访问数据的简便办法缺点:虽然临界区同步速度很快,但却只能用来同步本进程内的线程,而不可用来同步多个进程中的线程。&nbsp;2、互斥量(Mutex):为协调共同对一个共享资源的单独访问而设计的。互斥量跟临界区很相似...

2019-03-17 18:57:32 2237

转载 【Linux】进程调度算法

前言1. 先来先服务 (FCFS,first come first served)2. 最短作业优先(SJF, Shortest Job First)3. 最高响应比优先法(HRRN,Highest Response Ratio Next)5. 时间片轮转算法(RR,Round-Robin)6. 多级反馈队列(Multilevel Feedback Queue)1. 先来先服务 (FCFS,fi...

2019-03-17 00:51:02 223

转载 【Linux】内存管理

转自: https://www.cnblogs.com/ralap7/p/9184773.html前言进程与内存进程内存空间进程内存管理进程内存的分配与回收如何由虚变实!系统物理内存管理物理内存管理(页管理)内核内存使用内核非连续内存分配(Vmalloc)程序里主要应解决两个问题:摘要:本章首先以应用程序开发者的角度审 视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理...

2019-03-12 00:47:21 192

原创 【Linux】Linux较Window的优越性

前言1. Linux2. Linux系统的特点?3. win系统的特点4. 区别5. 总结:Linux和Windows是两种操作系统,对于服务器运维的人来说,在为服务器选择操作系统系统的时候,是选择Linux还是Windows是让人困惑的事?从用户群来说Linux是一个以开发者为中心的操作系统,而windows是以消费者为中心的操作系统,这也是两个操作系统作为根本的区别。简单来讲,两个系统的选...

2019-03-09 18:18:25 323

原创 【算法精髓】银行家算法

前言一、算法背景二、算法原理三、死锁四、数据结构:五、银行家算法:1. 银行家算法之例:附:参考博客:附: 银行家算法经典教程视频一、算法背景在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量,在满足所有贷款要求时,客户应及时归还·。银行家在客户申请的贷款数量不超过自己拥有的最大值时,都应尽量满足客户的需要。在这样的描述中,银行家就好比操作系统,...

2019-03-09 01:49:44 909

原创 【网络安全】网络安全之密码学

前言一、密码学概述二、密钥体制的分类三、密钥管理四、对称密钥算法五、非对称加密算法六、哈希函数七、消息鉴别码八、数字签名九、HTTPS一、密码学概述现代密码技术及应用已经涵盖数据处理过程的各个环节,如数据加密、密码分析、数字签名、身份识别、零知识证明、秘密分享等。通过以密码学为核心的理论与技术来保证数据的机密性、完整性、可用性等安全属性。机密性指信息不泄漏给非授权的用户、实体或过程;完整...

2019-03-08 19:28:02 7136 1

原创 【网络编程】2019年,你熟悉GET与POST吗?

前言一、标准答案二、GET 和 POST 报文上的区别三、常见问题1. GET 方法参数写法是固定的吗?2. POST 方法比 GET 方法安全?3. GET 方法的长度限制是怎么回事?4. POST 方法会产生两个TCP数据包?5. talk is cheap show me the code参考最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来...

2019-03-07 00:38:04 327

原创 【Linux】多线程详述

前言一、线程的概念(复习)-铺垫1.理解(Linux平台)2.线程的资源3.线程优点4.线程缺点二、Linux线程ID和进程ID一、线程的概念(复习)-铺垫进程是分配系统资源的基本单位线程是一个标准的进程(一个执行流的进程)Linux线程图解1.理解(Linux平台)线程是在进程的内部运行的:线程是在进程的地址空间内运行的,共享一份虚拟地址空间。线程大部分资源都是共享的。(共用...

2019-03-04 23:25:08 259

原创 【网络编程】HTTP协议之长连接与短链接

前言【话题】:HTTP长连接、短连接究竟是什么?1. HTTP协议与TCP/IP协议的关系2. 如何理解HTTP协议是无状态的3. 什么是长连接、短连接?3.1. TCP连接3.2. TCP短连接3.3. TCP长连接4. 长连接和短连接的优点和缺点5. 什么时候用长连接,短连接?【话题】:HTTP长连接、短连接究竟是什么?1. HTTP协议与TCP/IP协议的关系HTTP的长连接和短连接本...

2019-03-04 20:13:13 598

原创 【笔试集锦】小易

一、俄罗斯方块小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块。因为它比较古老,所以规则和一般的俄罗斯方块不同。荧幕上一共有 n 列,每次都会有一个 1 x 1 的方块随机落下,在同一列中,后落下的方块会叠在先前的方块之上,当一整行方块都被占满时,这一行会被消去,并得到1分。有一天,小易又开了一局游戏,当玩到第 m 个方块落下时他觉得太无聊就关掉了,小易希望你告诉他这局游戏他获得的分数...

2019-03-03 21:50:00 388

原创 【网络编程】TCP抓包工具之tcpdump

前言一、 tcpdump选项1. 抓包选项:2. 输出选项:3. 其他功能性选项:二、tcpdump表达式三、tcpdump示例tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。例如:shell&amp;gt; tcpdump -nn -i ens33 icmp...

2019-03-03 14:32:26 702

原创 【Linux】进程间通信

一、进程间通信目的二、进程间通信种类三、管道四、消息队列五、共享内存1. 共享内存初识在Linux中,每个进程都有属于自己的进程控制块(PCB)和地址地址空间(Addr Space),并且都有一个与之对应的页表,负责将进程的虚拟地址与物理地址进行映射,通过内存管理单元(MMU)进行管理。两个不同的虚拟地址通过页表映射到物理空间的同一块区域,它们所指向的这块区域即共享内存。共享内存是最...

2019-03-02 17:31:29 264

原创 【Linux】进程间通信之管道

前言

2019-03-02 17:26:22 426

Docker入门到进阶实战

Docker进阶实战,内容主要基于B站狂神老师的Docker基础视频与部分网络docker博客总结,按照个人理解所整理总结。图床用的是github,由于网络原因图片加载不出来,嗯,我直接发个PDF吧,需要的自取吧。Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

2022-07-08

终端版学生管理系统-Go语言

终端版学生管理系统-Go语言

2022-05-23

数据结构课程设计大纲

《数据结构》是计算机软件的一门基础课程,计算机科学各领域及有关的应用软件都要用到各种类型的数据结构。学好数据结构对掌握实际编程能力是很有帮助的。为了学好《数据结构》,必须编写一些在特定数据结构上的算法,通过上机调试,才能更好地掌握各种数据结构及其特点,同时提高解决计算机应用实际问题的能力。《数据结构与算法分析》课程设计是在学习完C语言和数据结构之后,对这两门课程所学知识的综合应用。

2018-06-29

数据结构课程设计

本题要求输入信息存入文件,读取文件中信息统计分数,并执行排序与查找功能,要求中未对输入数据进行插入和删除等操作,并且排序和查找过程中有许多的随机读取数据操作,因此使用顺序存储结构进行数据的存储。各个要求属性具有一定的联系,在定义数据时使用结构体和结构体数组来存储相关信息数据。在程序开始阶段为提高用户的体验,以及界面的美观度,为程序设计了一个图形界面,以西安科技大学照片为背景,并插入了音效。

2018-06-29

教你如何玩转指针

在信息工程中,指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中的寄存器(Register)。指针一般出现在比较近机器语言的语言,如汇编语言或C语言。面向对象语言如Java一般避免用指针,而是引用。

2018-03-23

指针那些事儿

指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要作到这些,指针也是不难掌握的。

2018-03-23

空空如也

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

TA关注的人

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