自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cJSON的模拟实现

CJSON是C语言的一个编解码工具,JSON是一种轻量级数据交换格式(基于JavaScript的一个子集)CJSON主要功能:构建和解析 json格式,发送的数据用json封装,收到数据再以json格式解析优点:轻量级、速度快缺点:功能上不够强大

2017-08-24 13:26:06 1125 1

原创 智能指针auto_ptr、scoped_ptr、shared_ptr和weak_ptr

智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。智能指针就是使用模板类,按照RAII的要求,自动化地管理动态资源的释放(不管理资源的创建),智能指针看上去是指针,实际上是赋予了定义的对象。

2017-08-07 16:17:44 727

原创 模拟实现C++STL中的string类

浅拷贝: 默认的拷贝构造函数(值拷贝)。会出现两个指针维护同一块空间的问题,可能会一个指针释放空间导致另一个指针访问非法空间。深拷贝: 自己构造拷贝构造函数,即自己开辟新空间再用memcpy进行值拷贝,用指针维护新开辟的空间写时拷贝: 在浅拷贝的基础上增加引用计数,若要修改同一块空间时,再开辟新空间并进行值拷贝 写时拷贝即实现operator[],缺点是用[]读的时候也进行拷贝

2017-08-06 21:10:55 792

原创 C++的封装、继承、多态

封装性: 所谓封装性就是将某些东西包装起来,外界无法直接使用,只能通过某些方式才能访问到。面向对象理念是万物皆对象,都有其特征和行为,我们把“成员变量”理解为特征,把“成员函数”理解为行为。被封装的特性只能通过特定的行为去访问。 访问限定符:public、protected、private体现了类的封装。继承: 继承是通过已有的类派生出新的类,新的类包含已有类的成员对象和成员函数,并且可以增加新的功能,已有的类被称为父类/基类,新的类被称为子类/派生类。多态:

2017-08-05 10:35:22 556

原创 TopK问题

本公司现在要给公司员工发波福利,在员工工作时间会提供大量的水果供员工补充营养。由于水果种类比较多,但是却又不知道哪种水果比较受欢迎,然后公司就让每个员工报告了自己最爱吃的k种水果,并且告知已经将所有员工喜欢吃的水果存储于一个数组中。然后让我们统计出所有水果出现的次数,并且求出大家最喜欢吃的前k种水果。 void GetFavoriteFruit(const vector& fruits,size_t k);

2017-08-03 21:54:03 440

原创 模拟实现C语言字符串系列和memory系列库函数

strcpy、strncpy、strcmp、strncmp、strcat、strncat、memcpy、memmove

2017-08-02 12:07:06 644

原创 数据结构的七种排序

插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序

2017-08-01 14:58:26 822

原创 单例模式的懒汉模式和饿汉模式

单例模式的懒汉模式和饿汉模式

2017-07-30 12:30:46 678

原创 C语言实现C++的继承和多态

//C语言模拟实现继承和多态typedef void (*FUN)(); //通过函数指针来实现对成员函数的继承和多态struct _A //父类{ FUN _fun; //C语言struct不能包含函数,故需要在类外实现 int _a;};struct _B //子类{ _A aa; //通过子类包含父类对象实现继承 int _b;};//定义两个函数---通过函数指针来决定指向那个函数实现多态void _funA() //父类的同名

2017-07-28 22:15:13 557

原创 TCP的三次握手和四次挥手

TCP传输控制协议是一个面向连接的协议,在运行此协议进行数据传输前要进行连接的建立(三次握手),当数据传输完成,要进行连接释放(四次挥手)。

2017-07-25 12:39:52 415

原创 函数实现两个数的和,不能用+等算术运算符

Write a function that adds two numbers. You should not use + or any arithmetic operators.用位运算求两数的和通过指针的性质来求两个数的和

2017-07-14 23:50:37 1856

原创 shell脚本截取字符串

shell脚本截取字符串

2017-07-04 17:09:22 597

原创 线程安全和可重入函数

线程安全和可重入函数的比较

2017-07-03 17:09:20 464

原创 Linux中的正则表达式和grep使用规范

正则表达式grep、egrep和正则表达式的配合使用概念:         正则表达式,又称规则表达式 。通常被用来检索、替换某个模式(规则)的文本。         正则表达式是一种逻辑公式,就是用一些特定字符或组合。组成一个“规则字符串”,通过该“规则字符串”来表达对字符串的过滤逻辑(匹配)。

2017-06-30 23:36:41 659

原创 Linux中shell脚本``和 $()的异同

Linux中shell脚本``和 $()的异同

2017-06-26 17:27:00 3752

原创 网络基础知识

网络端口、TCP报头的URG和PSH标志位对比、TCP定时器

2017-06-19 20:46:07 626

原创 数据通讯中的CRC校验

数据通讯中的CRC校验CRC(循环冗余校验)是一种数据通讯中常见的差错校验技术。其主要特征是信息字段的长度和校验字段可任意选定。

2017-06-16 16:50:26 3602

原创 二分查找的递归和非递归实现

二分查找的递归与非递归实现

2017-04-20 16:12:20 383

原创 不用循环求1+2+3...+n之和的多种求法

不用循环求1+2+3...+n之和的多种求法

2017-04-17 17:17:46 3523

原创 c++的继承与虚继承

继承与虚继承在c++中继承是一重要特征,是面向对象复用的重要手段,通过继承建立一个类,共享公有的东西,再实现各自不同的属性。继承是类之间的关系模型。虚继承:解决菱形继承二义性和数据冗余最好的方法。

2017-04-09 20:45:47 522

原创 最长公共子序列(动态规划求法)

给定一个字符串s(1 <= s <= 1000),你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。

2017-03-11 12:20:10 1100

原创 家庭财务管理设计与实现

实现家庭的各种账单(水/电/煤气费,宽带/电话费等)的管理功能,可以对各类账单及用户信息进行登记、修改、删除等。

2017-03-09 13:57:04 1590

原创 C++日期类(运算符的重载)

对运算符的重载,使自定义对象可以直接进行加减、比较等操作

2017-03-09 13:37:24 5714

原创 顺序表的动态申请空间版本

顺序表的动态开辟空间版本。顺序表的动态版本与静态版本的区别在于:动态版本预先开辟比较小的空间,当空间不足时再追加若干空间,静态顺序表则一次开辟足够大的空间,静态顺序表的实现在我的上一篇博客。

2017-02-22 11:46:50 876

原创 对顺序表的基本操作

顺序表是简单的数据结构,要熟练掌握线性表的头插、尾插、头删、尾删、排序、查找等基本方法

2017-02-22 11:24:30 508

原创 模拟实现库函数atoi

模拟实现库函数atoi,将字符串转换成数字。

2017-02-17 22:12:19 480

原创 可对多种类型进行排序的冒泡排序

自己实现一个bubble_sort(冒泡排序),可以完成不同类型数据的排序

2017-02-17 17:09:34 1163

原创 qsort 快速排序

qsort可对各类数组进行排序,主要分为七大类。qsort要求提供一个比较函数(即第四个参数函数指针),是为了做到通用性更好一些。

2017-02-16 17:10:32 568

原创 编写一个函数实现n^k,使用递归实现

编写一个函数实现n^k,使用递归实现

2017-01-11 11:35:39 2190

原创 通过异或找出不重复出现的数字

一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。

2016-12-29 22:58:41 4508 1

原创 C语言版扫雷

用C语言实现扫雷,首先应该有基本的思路,创建两个相同大小的数组,一个用于布雷(初始化为全0,布雷时将雷置为1),另一个给用户展示(初始化为星号,用户输入坐标后统计周围雷的分布并打印雷的个数)。由于需要统计每个坐标周围类的个数,所以将数组创建大一圈,以方便统计。若输了,打印出雷阵告诉玩家雷的分布。具体实现:game.h文件#ifndef __GAME_H__#define __GAME

2016-12-13 22:39:13 657

原创 实现一个函数,可以左旋字符串中的k个字符

实现一个函数,可以左旋字符串中的k个字符。AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAA

2016-12-11 13:43:03 695

原创 判断一个字符串是否为另外一个字符串旋转之后的字符串

判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.

2016-12-11 12:02:06 903

原创 写一个宏可以将一个数字的奇数位和偶数位交换

宏函数在c语言编程中有不可忽视的作用,并且数字二进制的奇偶位交换也比较常见,所以用宏函数来实现数字二进制的奇数位和偶数位交换不失为一个很好的方法。

2016-12-05 20:00:42 2169

原创 三子棋(C语言)

c语言版三子棋经过一段时间对c语言的学习,需要完成一个比较小的项目来锻炼自己对c语言的理解和应用。于是我选择了用c语言实现三子棋这一个难度适中的小项目!想要完整地、清晰地实现三子棋的功能。必须有一个清晰地思路,再将思路转化为一个个功能不同的函数,最终实现三子棋人和电脑对战的效果。首先我先构想需要实现的功能,将这些功能封装成没一个函数,函数的具体实现在后面的过程中具体完善。

2016-12-04 16:10:39 790

原创 C语言的基础学习及特殊例题的实现

在最近两周的时间里我对C语言的基础进行了仔细的学习,并用C语言的程序实现了一些比较有代表性的例子。使我对C语言的基础有了更加深入的了解!下面我给大家分享几个例题,希望对大家有所帮助。1.     “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3 ? ,则153是一个“水仙花数”。在数论中,水仙花数(Narcissistic number)也称为自恋数、

2016-11-12 15:44:21 606

原创 初入优快云的第一篇博客

我的第一篇博客  大家好!我现在还是一名在校本科大学生,专业是计算机科学与技术,今天是我在优快云中写第一篇博客。因为我喜欢IT,我喜欢优快云,所以我会坚持在这里面分享我的快乐、忧愁、还有我学习的方法和收获。希望大家喜欢哦~    到今天,我已经进入大三有一段时间了,刚进入大三每天的感觉都是迷茫的。由于是预备党员,所以我担任了大一新生的班助。每天从早忙到晚但不知道自己在忙些什么,又收获了

2016-10-27 21:02:10 458

空空如也

空空如也

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

TA关注的人

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