自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 斐波那契数列

题目大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39解决方案一:递归int Fibonacci(int n){ if(n <= 0 || n > 39) { return 0; } if(n == 1) { return 1; } ...

2018-03-15 20:54:33 212

原创 realloc

realloc函数形式为:void* realloc(void*ptr,size_t new_size);功能①更改由ptr指向的内存块的大小。 ②该函数可能会将内存块移到新位置(其地址由函数返回)。 ③即使将块移动到新位置,内存块的内容也会保留为新旧尺寸中较小的一个。如果新尺寸较大,则新分配的部分的值不确定。 ④如果ptr是一个空指针,该函数的行为就像的malloc,分配一...

2018-03-14 19:53:05 2802

原创 打印素数(100~200)

素数素数就是除过1和本身能被除尽之外,不能被其他数所除尽的数。示例打印100~200之间所有的素数。代码#include<stdio.h>int main(){ int i = 100; for(;i<200;++i) { int j = 2; for(;j < i/2;++j) ...

2018-03-14 18:55:44 258

原创 HTTP协议

HTTP协议HTTP协议 超文本传输协议,是用于从www服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示等。 HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。 HTTP协议通常承载于TCP协议之上,有时也承载于T...

2018-03-11 19:56:29 160

原创 C++之四种类型转换

我们都知道C语言中也有类型转换,常见的有两种,一种是默认转换,例如从int类型的数据转换为一个float类型的数据,这样是可以成功的;另外一种是强制转换,这也是我们非常熟悉的操作,这里也就不多说了。 这篇文章主要介绍C++boost库中的四种类型转换:const_cast说明:这个类型转化操作传递对象的const属性,或者是设置或者是移除。用法:const_cas...

2018-02-22 12:32:12 269

原创 标准I/O库之文件操作的函数

标准I/O库标准I/O库(stdio)及其头文件stdio.h为地城i/o系统调用提供了一个通用的接口。这个库已经成为ANSI标准C的一部分。标准I/O库提供了许多复杂的函数用于格式化输出和扫描输入。它还负责满足设备的缓冲需求。 在很多方面,使用标准I/O库的方式和使用底层文件描述符一样。需要先打开一个文件以建立一个访问路径。这个操作的返回值将作为其他I/O库函数的参数。在标准I/O库中,与...

2018-02-13 15:48:17 266

原创 系统大小端检测

大小端的引入在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short类型,32bit的int类型,另外位数大于8位的处理器,例如16位或者32位bit的处理器,由于寄存器宽度大于一个字节,要么必然存在着一个如何将多个字节安排的问题。因此导致了大端存储模式和小端存储模式。什么叫大小端?大端...

2018-02-11 16:48:00 426

原创 字符串匹配之朴素匹配&KMP匹配

在众多的语言编程里面有这么一个说法,看一个语言好不好,就看这个语言操作字符串方不方便,所以足以看出在计算机语言里面,操作字符串有多么重要,暂且不去说C语言中其他操作字符串的方法怎么样,今天就来说说字符串匹配的问题。 在C语言的string.h头文件中,char* strstr(const char*str,const char* src);这个方法就能实现这个问题,那么它是怎么实现的呢?今天就来...

2018-02-11 14:32:30 276

原创 switch和if_else语句

switch和if …else语句都可以实现条件编译,根据不同的条件进行不一样的操作。switch在使用上,switch的case语句中必须使用常量,并且在连续的case语句中,各个case的常量值必须是连续的,这在下面的汇编实现上有很大的意义。 在汇编实现上,switch采用的是跳转表实现的,跳转表本身是一个静态表,而这个表的长度不是根据case语句多少决定的,而是根据case中常量的...

2018-02-10 15:06:48 574

原创 位操作

移位操作移位操作只是简单地把一个值的位向左或者向右移动。在左移位中,值最左边的几位被丢弃,右边多出来的几个空位则由0补齐。,如图是个左移位的例子,它在一个8位的值上进行左移3位的操作,以二进制形式显示。这个值所有的位均向移三个位置,移出左边界的那几位丢失,右边空出来的几个位则用0补齐。 右移位操作存在一个左移位操作不曾面临的问题:从左边移入新位时,可以选择两种方案。一种是逻辑移位,左边移入的...

2018-02-10 13:00:22 228

原创 字符编码之ASCII、UTF-8、UTF-16的区别

ASCII编码根据百度百科整理的^_^在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通...

2018-02-10 12:02:56 2667

原创 GitHub的安装及基本使用

基础知识GitHub学习从认识开始吧! GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git最为唯一的版本库格式进行托管,故名GitHub。在GitHub可以十分轻易地找到海量的开元代码。 那么Git是什么? Git,是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git功能特性: 从一般开发者的角度来看,Git是这样的: 1.从服务器...

2018-02-09 10:24:16 418

原创 排序---排序算法2

上一篇总结了简单的排序算法,这一篇继续。。。堆排序思想堆,堆顶元素(即第一个元素)必为最小项(小顶堆)(升序序列)或者最大项(大顶堆)(降序序列)。若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的。虽然说是一棵完全二叉树,但不是说就得根据这些数据还需要重新建立数据结构,对于一维数组有这样的规定:

2018-02-07 16:24:07 170

原创 排序---排序算法1

冒泡排序思想所谓冒泡排序就是,一组数据,以递增的顺序来说明,从第一个数data[0]开始,依次和后面的数据比较大小,如果data[0]大于当前位置上的数就和这个数交换位置并继续和后面的数相比,如果遇到比自己大的数了,就不交换;下一次开始的位置是data[1],然后依次往后推。基础代码void myswap(int &num1,int &num2){ int n

2018-02-07 14:30:43 248

原创 虚拟存储器

虚拟存储器引入一个系统中的进程是与其他进程共享CPU和主存资源的。但是如果有很多进程都需要访问主存,那就很危险了,如果一个进程将自己的数据写进别的进程的逻辑中去了,那么两个进程都挂掉了,你自己出错了,别拉上别的进程垫背啊。当存储器没有空间了,却有进程要访问内存,那只能等待了,谁又能记录有进程等待的信息呢,万一内存有空间了,这个进程还没有动手,就被别的进程捷足先登了,那这个进程永远也不会

2018-02-02 17:50:01 200

原创 C++继承

继承     通过继承联系在一起的类构成一种层次关系。通常在层次关系的根部有一个基类,其它类则直接或间接从基类继承而来,这些继承得到的类称为派生类。基类负责定义在层次关系中所有类共同拥有的成员,而每个派生定义各自的成员。继承实现了代码的复用。1.派生类对象的内存分布class Base{public: int ma;};class Derive : public Base

2018-01-04 16:30:43 149

原创 epoll系统调用

epoll是Linux系统特有的I/O复用函数。它和select和poll有很大的区别,首先它使用的是一组函数来完成任务而不是一个函数;其次,epoll是将用户关心的文件描述符的事件放在内核中的一个事件表中,从而无须像select和poll每次重复传入文件描述符或者事件集,但是epoll需要一个额外的文件描述符用来唯一标识内核中的事件表。epoll针对的是同一时刻成千上万的文件描述符需要监听的情况

2017-11-03 00:21:57 674

原创 C++实现带头结点单链表

单链表属于基本数据结构中的线性结构,它应用于很多数据结构中,例如栈,队列等,作用广泛。在数据结构中我们习惯把关于单链表的一系列操作制作为一个ADT(Abstract Data Type)使用,在C++中把它封装为一个类,使用起来更是方便。关于单链表的操作包括插入(包括头插和尾插)、删除、查找、检查是否有环、环的长度、环的入口等操作。以下就是我的代码实现:每个结点的数据类型应该是一个结构体类

2017-10-29 00:37:01 2006

原创 32位x86体系linux虚拟地址空间

每个程序被运行起来以后,它将拥有自己独立的虚拟地址空间(Virtual Address Space),这个虚拟地址空间的大小由计算机的硬件平台而决定,具体由CPU的位数决定。硬件决定了地址空间的最大理论上限,即硬件的寻址空间的大小,例如,32位x86体系linux虚拟地址空间是4GB的虚拟空间大小,地址范围是0~2^32-1,即0x00000000~0xFFFFFFFF。0X00000

2017-10-12 00:02:38 1302

空空如也

空空如也

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

TA关注的人

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