自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

askunix

人生有三恨,一恨鲫鱼有刺,二恨海棠无香,三恨红楼未完! >> askunix00@gmail.com

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

原创 高级I/O总结(一):基础

重要概念同步通信 VS 异步通信概念:(1)同步通信的不足等待接口耦合性网络位置耦合性可用性耦合性 总结: 耗时 + 耦合度比较高。(2)异步通信无等待面向消息解耦合位置独立确保投递 总结:解决了同步通信的不足。阻塞 VS 非阻塞(1)阻塞是指调用结果返回之前,当前线程会被挂起,线程只有在得到结果之后才会返回。(2)非...

2018-08-31 16:59:54 455

原创 【笔试题】大整数相加

本机环境:64位Centos 7.4,vim、gcc编译工具。假设用户输入的数据保存在数组adda,addb中,如果手工计算,就是从低位到高位依次先加,满十进一,那么有两个问题需要解决。问题:1、用数组保存结果,那么结果的长度是多少位? 两个数相加,结果最大也只能比较大的那个数多一位。lensum = lena > lenb ? lena : lenb;l...

2018-08-29 12:51:46 513

原创 散列函数(哈希)

概念散列的概念属于查找,它不以关键字的比较为基本操作,采用直接寻址技术。在理想情况下,查找的期望时间为O(1)。hash函数就是把任意长的输入字符串变化成固定长的输出字符串的一种函数。输出字符串的长度称为hash函数的位数。散列(Hashing)通过散列函数将要检索的项与索引(散列,散列值)关联起来,生成一种便于搜索的数据结构(散列表)。应用目前应用最为广泛的hash函数是SH...

2018-08-24 12:01:00 31830 3

原创 优先级队列概念(Priority Queue)

概念☺优先队列是一种用来维护一组元素构成的结合S的数据结构,其中每个元素都有一个关键字key,元素之间的比较都是通过key来比较的。优先队列包括最大优先队列和最小优先队列,优先队列的应用比较广泛,比如作业系统中的调度程序,当一个作业完成后,需要在所有等待调度的作业中选择一个优先级最高的作业来执行,并且也可以添加一个新的作业到作业的优先队列中。 优先队列的实现中,我们可以选择堆数据结构,最...

2018-08-21 23:45:57 6739

原创 静态库和动态库的区别

库的作用: 库是共享程序代码的方式,一般分为静态库和动态库。库实现了某些特定的功能模块化。方便分享和使用!异同点:2.静态库和动态库有什么特点?- 不同点:静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序可以共用,节省内存。- 共同点:静态库和动态...

2018-08-17 00:40:41 1098

原创 【Huffman】哈夫曼树与哈夫曼编码

基本概念1、路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。2、结点的权及带权路径长度 若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。3、树的带权路径长...

2018-08-16 00:53:20 407

原创 CSDN博客如何添加个性化栏目

首先放一张效果图:当然你也可以返回我的博客主页查看效果。我实现的功能(从上到下依次是):1、添加GitHub链接、GitHub Pages链接。 2、邮箱展示,点击跳转。 3、权限声明。 4、动态图片。 5、音乐外链(点击实现听音乐)。自定义步骤:1、首先在栏目管理中新增一个栏目,名字随便设置。 2、点击编辑,定义内容。 这里的内容其实支持Html语法...

2018-08-15 01:10:27 1930 6

原创 【基础IO 】系统调用和库函数

本文重点:1、认识文件描述符,理解重定向。 2、系统调用和库函数的区别。 3、软连接和硬链接的概念和区别。 4、静态库和动态库。1、认识文件描述符,理解重定向。2、系统调用和库函数的区别。3、软连接和硬链接的概念和区别。4、静态库和动态库。...

2018-08-15 00:48:38 510

原创 查找算法总结

顺序查找 最简单的遍历查找。时间复杂度比较大,属于无序查找。二分查找 也叫作折半查找。属于有序查找,如果查找之前数据无序,就要先排序。 复杂度分析:最坏情况下,关键词比较次数为log2(n+1),且期望时间复杂度为O(log2n);//二分查找,递归版本int BinarySearch(int *arr, int k, int low, int high)...

2018-08-12 23:17:00 868

原创 【排序算法】希尔排序(缩小增量排序)

希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。基本思想:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情...

2018-08-11 00:55:17 1040

原创 【笔试题】二维数组中的查找

题目描述: 在一个二维数组中,从左到右从上到下都是递增的,给一个数x,判断x是否在矩阵中。要求效率尽可能的高。思路分析:代码实现:int SearchNum(int *arr, int K, int row, int col){ int found = 0; if (arr != NULL && col > 0 &&a...

2018-08-09 18:13:33 373

原创 C++11 智能指针

本文介绍三个智能指针:unique_ptr、shared_ptr、weak_ptr。auto_ptr已经被C++11丢弃了。C++的内存管理中,当我们写一个new语句时,一般立即跟一个delete,但是也很难保证没有运行到delete就返回了。申请的资源没有释放,就会造成内存泄露。智能指针解决了哪些问题:1、忘记调用delete释放内存。2、程序异常的进入catch块忘记释...

2018-08-05 22:42:16 1147

原创 C++内存模型

以下内容,大部分整理自网络C分为四个区:堆,栈,静态全局变量区,常量区。详情阅读:C语言内存模型C++内存分为5个区域(堆栈全常代 ):(1)堆 heap : 由new分配的内存块,其释放编译器不去管,由我们程序自己控制(一个new对应一个delete)。如果程序员没有释放掉,在程序结束时OS会自动回收。涉及的问题:“缓冲区溢出”、“内存泄露”(2)栈 sta...

2018-08-05 13:32:41 2188 2

原创 this指针能否为空指针?

首先我们知道,this指针指向的是当前对象。测试代码: 空指针p同时访问了 test() 函数和 change() 函数,在 test() 函数调用过程中没有报错,但是在 change() 函数中报错了。实际上这两个类是这样的:void test(person *const this){}void change(person *const this){ c...

2018-08-04 23:55:51 2602

原创 static作用 & const作用

static作用:面试题:static有什么作用?答:在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数。一、 定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:(1) 在全局数据区内分配内存(2) 如果没有初始化,其默认值为0(3) 该变...

2018-08-04 22:46:41 1205

原创 【笔试题】找出数组中重复的数字

题目描述 在一个数组长度为n的数组里,所有数字都在 0 ~ n-1 范围内,数组中某些数字是重复的,但不知道几个数字重复了,也不知道每个数字重复了多少次,请找出数组中重复的数字。思路一:插排思想(比较挫,时间复杂度:n²)因为要输出任意一个重复的数字,只要一个数字出现次数等于两次,就可以输出这个数了。可以选取第一个数作为基准,依次遍历这个数之后的所有数,如果有相等的数,就直接返回...

2018-08-04 21:48:34 14945 5

原创 构造函数能不能声明为虚函数,析构函数呢?为什么?

一:构造函数不能声明为虚函数的原因?构造一个对象时,必须知道对象实际类型,而虚函数是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功,编译器就无法知道对象的实际类型,是该类本身,还是派生类,还是其他。虚函数的执行依赖于虚函数表,而虚函数表是在构造函数中进行初始化的,即初始化虚表指针(vptr),使得正确指向虚函数表。而在构造对象期间,虚函数表(vtable)还没有被初始化...

2018-08-04 18:08:51 3110 1

原创 大小端判断(联合体 & 指针)

所谓大小端:【大端模式】 CPU对操作数的存放方式是高地址存放低位,低地址存放高位。【小端模式】CPU对操作数的存放方式是高地址存放高位,低地址存放低位。大多数ARM处理器都是采用的小端模式,PowerPC是采用的大端模式,网络字节序是采用的大端模式。判断方式——编码实现:1、使用C语言中的联合体#include<stdio.h>union var{ ...

2018-08-04 16:27:27 2302

原创 回炉重造——虚函数和纯虚函数

写在前面C++中的虚函数的作用主要是实现了多态的机制。多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用相同的代码来实现可变的算法。C++虚函数 概念用virtual关键字修饰的函数就叫虚函数。虚函数实现机制:C++编译阶段,没办法...

2018-08-03 16:13:45 1052

原创 Linux基础命令(一)你用过哪些Linux常见命令?

写在前面:① 文件目录操作类的命令,比如:cd、ls、cp、rm、find、grep、zip、tar、yum、less等。② 系统权限操作命令,比如:chmod 、chown 、sudo等。③ 操作系统级命令,比如:shutdown、uname 、top、du、df、losf、netstat等。文件目录操作类的命令:cd(1)cd /home 进入 ‘/ home’...

2018-08-02 23:35:35 4944

原创 【笔试题】删除有序链表中的重复节点

题目描述: 一个有序链表:1 → 3 → 4 → 4 → 5 → 6 → 6 → 8,删除有序链表后得到:1 → 3 → 4 → 5 → 6 → 8。请实现该功能,并返回链表的头指针。思路分析:1.设置3个工作指针,pre=L,cur=L->next,re=L,cur指向当前指针,pre指向当前节点的前继节点,re指向迭代过程中添加节点的位置。2.迭代比较cu...

2018-08-02 18:54:29 2619

原创 Linux下的查找( grep & find )

grep用法:grep 递归搜索文件语法:grep -r -n “XXXX” ./ 说明:-r 表示递归,-n 表示标出要搜索的内容所在的行数,“XXXX” 表示当前要搜索的内容,./ 表示在当前文件下grep排除搜索目录使用 grep时,经常会遇到这样一个问题,要查找的内容(变量命名等)在一个或者多个文件(目录)中有,但是,我们又不想搜索它们,因此就可以使用 –exc...

2018-08-02 15:03:39 7201

CVTE后台研发面试题(C/C++)

这个文档有6页,包含了身边的朋友(C/C++后台研发岗)去CVTE面试的问题(同一届)。大概六七个人总结的。问题是按照面试官所问顺序排列的,内容包括:自我介绍、C++知识、网络、操作系统(Linux)、MySQL等等。如果对你有帮助,请好评。

2018-08-08

博客管理系统

代码包含数据表,客户端,后台设计,代码本来是交过课程设计的。用SQLserver数据库和C#完成,用了MV框架,适合初学者。

2018-08-02

计算机网络文件传输及管理系统课程设计报告

计算机网络文件传输及管理系统课程设计报告,内含源码+截图+报告+实验原理、总结等。

2018-04-08

C语言版推箱子游戏源码

本资源不是扫描版本,文件内容可以复制粘贴到VS平台直接验证,可以直接运行出结果。

2018-01-09

数字电子时钟课程设计报告(附设计电路图)

本文档为完整版课程设计报告,课设题目:数字电子时钟课程设计报告,课程分类:计算机组成原理

2018-01-09

空空如也

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

TA关注的人

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