自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fireplusplus的博客

逆水行舟

  • 博客(15)
  • 收藏
  • 关注

原创 【LeetCode】Two Sum

TwoSumGiven an array of integers,find two numbers such that they add up to a specific target number.The function two Sum should return indices of the two numbers such that they add up to the

2016-06-30 23:17:41 343

原创 【C++】泛型编程基础:模板通识

测试环境:Target: x86_64-linux-gnugcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1)什么是泛型编程?为什么C++会有模板?这一切的一切都要从如何编写一个通用的加法函数说起。很久很久以前有一个人要编写一个通用的加法函数,他想到了这么几种方法:使用函数重载,针对每个所需相同行为的不同类型重新实现

2016-06-20 19:34:01 2209

原创 【LeetCode】Combination

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.For example,If n = 4 and k = 2, a solution is:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]思

2016-06-20 19:17:22 548

原创 【LeetCode】三道简单的递归问题

1.single-numberGiven an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it

2016-06-19 08:52:47 414

原创 【LeetCode】sum-root-to-leaf-numbers

【题目】Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.An example is the root-to-leaf path 1->2->3 which represents the number 123.Find

2016-06-19 08:45:31 498

原创 C++虚函数对象模型剖析

测试环境:VS2013C++中的类对象模型有简单的,也有复杂的。今天尝试着剖析一下,以加深对继承,虚函数等的理解。从最简单的继承开始class Base{public: int b;};class Derive : public Base{public: int d;};int main(){ cout << sizeof(Derive) <<

2016-06-16 11:44:50 532

原创 C++多态深度剖析

测试环境:Target: x86_64-linux-gnugcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1)什么是多态?多态一词最初来源于希腊语,意思是具有多种形式或形态的情形,当然这只是字面意思,它在C++语言中多态有着更广泛的含义。这要先从对象的类型说起!对象的类型有两种:

2016-06-12 17:34:39 2212

原创 浅析C++继承与派生

测试环境:Target: x86_64-linux-gnugcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1)定义要分析继承,首先当然要知道什么是继承:继承是面向对象程旭设计中使代码可以复用的最重要的手段,它允许程序员在原有类特性的基础上进行扩展,增加功能。这样产生的新类,就叫做派生类(子类)。继承呈现了面向对象程

2016-06-11 10:44:07 15593 5

原创 gdb在汇编指令级调试程序

方法很多,掌握一种就好:(前提:编译时加 -g 选项)在gdb调试界面输入命令:display /ni $pc 在每行源程序后面显示n行汇编指令(n换成想要的显示的行数,如display /3i $pc)调试方法:之前程序级中调试的下一步 n 对应 现在的 ni,之前的 s 对应现在的 si,其余指令不变。原理:display每执行一条语句打印对应寄存器或变量的值;/ni 将机

2016-06-11 09:38:33 1269

原创 进程调度算法

1.先来先服务调度算法每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或发生某事件而阻塞后才放弃处理机。FCFS 算法比较有利于长作业(进程),而不利于短作业(进程)。2.短进程优先调度算法短进程优先调度算法 SPF,是指对短进程优先调度的算法。短进程优先(SPF)调度算法是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给

2016-06-07 23:05:50 852

原创 C实现一个进度条

平常是否做过一些小项目需要耗费一定的时间?看着别人的软件上的进度条着实有些羡慕,不放来实现一个简单的进度条吧!我们需要将【】左右中括号“固定”在屏幕的两边,然后依次用“=”将它填满,是从左向右的。初步编写代码如下:#include void ProgressBar(){ char arr[102] = {'\0'}; int n = 100, i = 0; while (i

2016-06-07 14:23:44 1458 3

原创 用C语言实现Ping命令

【引言】前几天脑子里忽然蹦出来一个想法,想试着用C语言写一个自己的Ping命令出来。开始还有些茫然无措,因为此前没有接触过网络编程方面的知识。幸运的是对Ping的实现原理还是比较清楚的,难度和挑战皆在于网络编程方面的零基础,再加上现在的课程比较多,所以只能每天抽出一部分时间来学习所需的网络编程知识。大概会持续个两三周。既然如此,索性开个博客,记录下整个学习的过程,也算是每天的总结了吧。

2016-06-03 11:21:05 45591 13

原创 malloc/calloc/realloc/free与new/delete对比

C动态申请内存函数:函数原型:void *malloc(size_t size);函数功能:申请size个字节的内存空间,返回该段空间的首地址,该空间里面的东西是随机值。返回值:始终是void*,申请成功,返回空间的首地址,否则返回NULL,所以使用这个函数一定要对返回值进行判断。函数原型:void *calloc(size_t num, size_t size);函数

2016-06-02 19:41:41 742

转载 C语言inline详细讲解

本文介绍了GCC和C99标准中inline使用上的不同之处。inline属性在使用的时候,要注意以下两点:inline关键字在GCC参考文档中仅有对其使用在函数定义(Definition)上的描述,而没有提到其是否能用于函数声明(Declare)。从 inline的作用来看,其放置于函数声明中应当也是毫无作用的:inline只会影响函数在translation unit(可以简单理解为C源

2016-06-01 16:41:53 369

原创 宏与内联

在C++里边推荐用内联函数来代替宏,这里面当然有它这样做的`理由。下面就来总结一下宏与内联各自的优缺点。刚学C时,你写的第一个宏可能是这样的:#define MAX(a, b) ((a)>(b) ? (a) : (b))如果要调用这个宏函数,我们会这样:MAX(a, b); 我们都知道,编译器对宏只是做简的替换,所以编译预处理阶段结束后这条语句就会被替换为 a > b ? a

2016-06-01 15:22:58 444

空空如也

空空如也

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

TA关注的人

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