自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数加、减、乘、除和求余运算

在这个处理大数据的时代,对于大数运算经常会用到,为此,我用C++实现的大数的加、减、乘、除和求余运算。#include using namespace std;#include #include /************************************************************************//* 大数运算:加、减、乘、除和求余

2016-08-17 16:33:11 867

原创 二分查找的实现

一、二分查找算法的实现原理:二分查找可以解决已经排好序数组的查找问题:只要数组中包含target(即要查找的值),那么通过不断缩小包含target数组的范围,最终就可以找到它。其算法流程如下:一开始,范围覆盖整个数组。将数组的中间项与target进行比较,如果target比数组的中间项要小,则到数组的前半部分继续查找,反之,则到数组的后半部分继续查找。如此,每次

2016-08-11 17:48:38 436

原创 红黑树的实现

1、概念:全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。2、特性:1)每个节点都是黑色的,或者是红色。2)根节点是黑色。3)每个叶子结点(NIL)是黑色的。(为空(NIL)的叶子结点)4)如果一个节点是红色的,则它的子节点必须是黑色的。5)从一个节点到该节点的子

2016-08-11 11:31:34 294

原创 KMP算法的实现

概念:Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP 算法”,常用于在一个文本串 S 内查找一个模式串 P 的出现位置,这个算法由 Donald Knuth、Vaughan Pratt、James H. Morris 三人于 1977 年联合发表,故取这三人的姓氏命名此算法。下面先直接给出 KMP 的算法流程:假设现在文本串 S 匹配到 i 位置,模

2016-08-11 10:51:40 254

原创 memcpy和memmove的实现

当我们不考虑一块内存存放内容的具体内容与类型,而需要进行拷贝时,我们经常会用到memcpy或者memmove,memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下:void *memcpy(void *dst, const void *src, size_t count);void *memmove(void *d

2016-08-11 10:33:32 188

原创 编译器预处理实现

我们写代码一般都会写一些注释,为了让人更好的理解代码,但是对于编译器来说,这些注释都需要去除,为了实现预处理,就是去除注释、换行、回车等,我用DFA(确定有限自动机)来实现。#include #include using namespace std;#define R 10#define C 8//DFAint DFA[R][C]= \{ /* / *

2016-08-11 09:53:08 516

原创 一键复制文件到U盘

我们经常把几个U盘插到电脑上需要拷贝多次有些麻烦,为了只选择一次文件进行多次拷贝,我写了个一键全复制,这个属于单线程的,拷贝速度还可以。#include#include#include#include#include#include#include #include#include using namespace std;#include #include #inclu

2016-08-11 09:47:32 1216

原创 windows下QT安装

Windows下QT安装指导书:                                        2016-06-26 1、先下载IDE 安装目录:D:\Qt\qtcreator-2.4.1 2、下载MinGW-gcc440_1.zip: 解压到:D:\Qt 3、再下载QT库: 安装目录:D:\Qt\4.7.3注:安装过程中询问

2016-06-26 18:03:24 305

原创 大小端模式

1.小端模式:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中. 2.大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中. 3.大小端CPU字节序:32位宽的十六进制数0x12345678在小端模式的存放方式(假设从地址0x1000开始存放)为: 内存地址 0x1000 0x1001

2016-05-06 22:54:53 486

原创 可变参数编程的三个宏

可变参数编程的三个宏:(VS2012)   可变参数编程是通过宏来实现的,这些宏定义于stdarg.h头文件中,它是标准库的一部分。这个头文件声明了一个类型va_list和三个宏----va_start、va_arg和va_end。一个类型va_list:typedef char *  va_list;三个宏:va_start:#define _ADDRESSOF(v)   (

2016-05-06 22:18:21 267

原创 动态内存管理

动态存储管理:若可利用的空间表有若干个不小于 用户所需大小为n的空闲块时,有三种分配策略: 1.首次拟合法:从表头指针开始查找可利用的空间表,将找到的第一个大小不小于n的空闲块的一部分分配给用户;2.最佳拟合法:将可利用空间表中一个不小于n且最接近n的空闲块的一部分分配给用户。3.最差拟合法:将可利用空间表中不小于n且是链表中最大的空闲块的一部分分配给用户。 区别:最佳

2016-05-06 22:10:25 543

原创 C语言实现多态

/*filename:c_duotai.cauthor:cctime:2016-05-06*/#include#includestruct Human   //基类{char Memoryalign[20];                      //对齐内存, 很重要void (*input)(struct Human *thiz);    /

2016-05-06 22:05:28 413

转载 linux select poll epoll的区别

在Linux Socket服务器短编程时,为了处理大量客户的连接请求,需要使用非阻塞I/O和复用,select、poll和epoll是Linux API提供的I/O复用方式,自从Linux 2.6中加入了epoll之后,在高性能服务器领域得到广泛的应用,现在比较出名的nginx就是使用epoll来实现I/O复用支持高并发,目前在高并 发的场景下,nginx越来越收到欢迎。这里有个文章参考。Ngin

2015-11-12 09:31:40 520

原创 关于C语言与C++对与NULL宏定义问题

C语言中对NULL的定义是:#define  (void *)0.而在C++里为什么把NULL定义成: #define NULL 0呢?  C语言是比C++提前问世,对于C语言来说,它把NULL宏定义成:#define  NULL  (void *)0.     当我们在C环境下写代码时,比如:int  *p=0;    是正确的,就说明在C语言里可以把一个空指针赋值给其他类型指针,也可以说,C

2015-05-18 19:53:29 2142

空空如也

空空如也

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

TA关注的人

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