自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mars 尘的专栏

坚持~蜗牛~梦想

  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

转载 C/C++函数参数的入栈顺序,计算顺序和可变参数的实现

函数参数入栈顺序[cpp] view plaincopy#include  void foo(int x, int y, int z)  {          printf("x = %d at [%X]\n", x, &x);          printf("y = %d at [%X]\n", y, &y);  

2016-01-19 23:48:10 668

转载 C++中的单例模式

如果采用全局或者静态变量的方式,会影响封装性,难以保证别的代码不会对全局变量造成影响。1.懒汉式是以时间换空间的方式。2.饿汉式是以空间换时间的方式。懒汉式懒汉式的特点是延迟加载,比如配置文件,采用懒汉式的方法,顾名思义,懒汉么,很懒的,配置文件的实例直到用到的时候才会加载。。。。。。?123

2016-01-19 22:57:35 410

转载 程序结束时,动态内存会释放吗

1 从C语言本身设计来说,不会释放。所谓动态内存,是由malloc系列函数进行申请的内存,除非在程序中使用free释放,否则该段内存不会被释放掉。从这个角度来说,即使进程结束,该段内存也会被占用。这种现象被称为内存泄露。2 大多数操作系统可以智能释放。动态内存由于是进程使用,向操作系统控制方申请的内存,所以操作系统内核可以记录哪些内存由哪个进程使用,这样为了减少内存泄露的危害,操作

2016-01-19 22:47:34 8000

转载 当C++指向对象的指针被赋值为NULL,对象那些函数可以运行?

当C++指向对象的指针被赋值为NULL,对象那些函数可以运行?——源自一道笔试选择题:当程序如下时可以运行[cpp] view plaincopy"font-size:24px;">// 3fun.cpp : Defines the entry point for the console application. 

2016-01-15 20:50:55 2524

转载 Wiggle Sort

Wiggle SortGiven an unsorted array nums, reorder it in-place such that nums[0] = nums[2] For example, given nums = [3, 5, 2, 1, 6, 4], one possible answer is [1, 6, 2, 5, 3, 4].排序法复杂

2016-01-03 16:00:03 460

转载 每天一个linux命令(4):awk 命令的参数详解

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho

2015-12-07 18:45:35 1718

原创 找零钱

有数组penny,penny中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim(小于等于1000)代表要找的钱数,求换钱有多少种方法。给定数组penny及它的大小(小于等于50),同时给定一个整数aim,请返回有多少种方法可以凑成aim。测试样例:[1,2,4],3,3返回:2class Exchange {pu

2015-12-05 19:13:14 852

转载 最少硬币找零问题-动态规划

动态规划把问题分为子为题,解决了这些子问题,再把子问题合并起来,便可以得到问题的解。在解决子问题过程中,需要把子问题的解保存起来方便后面使用。最少硬币找零问题为:给予不同面值的硬币若干种种(每种硬币个数无限多),用若干种硬币组合为某种面额的钱,使硬币的的个数最少。在现实生活中,我们往往使用的是贪心算法,比如找零时需要13元,我们先找10元,再找2元,再找1元。这是因为现实生活中的硬

2015-12-05 19:05:31 4025

转载 动态创建二维vector数组

二维vectorvector > ivec(m ,vector(n));    //m*n的二维vector动态创建m*n的二维vector方法一:vector > ivec;ivec.resize(m);for(int i=0;i方法二:vector > ivec;ivec.resize(m,vector(n));动态创建二维数组a[m][n]

2015-12-05 18:48:41 412

转载 每天一个linux命令(3):last命令

命令简介:    该命令用来列出目前与过去登录系统的用户相关信息。指令英文原义:show listing of last logged in users    执行权限 :有些需要特殊权限    指令所在路径:/usr/bin/last    执行last指令时,它会读取位于/var/log目录下名称为wtmp的文件,并把该给文件的内容记录的登录系统的用户名

2015-12-01 18:27:17 691

转载 每天一个linux命令(2):sort 命令

sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapplep

2015-12-01 18:25:17 989

转载 每天一个linux命令(1):free 命令

free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。1.命令格式:free [参数]2.命令功能:free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略3.命令参数:-b  以

2015-12-01 18:17:34 341

转载 MATLAB学习

========================BasicOperations========================>> A=rand(3,2) A =    0.8147    0.9134   0.9058    0.6324   0.1270    0.0975 >> A=[1 2;3 4;5 6] 

2015-11-14 23:39:08 446

原创 ip地址与整数之间的转换

比如 A.B.C.D的换成整数就是:(((A*256)+B)*256+C)*256+D整数转IP:1409823698 = 540833D2 H  => 以字节分解: 54H 08H 33H D2H => 转回10进制: 84 08 51 210bool is_Invalid = false;int IPtoINT(string s){     int result = 0;

2015-11-14 21:09:30 428

转载 每天一个linux命令(2):wget命令

Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大

2015-11-09 23:20:30 402

转载 每日一linux命令(1):sort命令

linux之sort用法sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式:  sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序。参  数:  -b   忽略每行前面开始出的空格字符。  -c   检查文件是否已经按照顺序排序。  -f   排序时,忽略大小写

2015-11-08 22:20:05 348

转载 海量数据处理

第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。      首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率

2015-11-03 23:49:24 295

转载 Linux常用命令大全

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui

2015-11-03 23:44:17 384

转载 python3 与 python2的 区别比较

1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果。 Py3.1性能比Py2.5慢15%,还有很大的提升空间。 2.编码 Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:     >>> 中国 = 'china'     >>>

2015-11-03 23:28:52 343

转载 字符编码笔记:ASCII,Unicode和UTF-8

1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与

2015-11-03 23:19:15 368

转载 python中if __name__ == '__main__': 的解析

当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用.        模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的

2015-11-03 20:15:46 282

原创 微策略笔试题

1 堆栈的区别,优劣,以及栈最多层次    一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回

2015-10-21 23:56:30 1144

原创 素数的个数统计

1.从C语言的语法设计来说是不支持的,早期的C编译器未考虑过函数重载这一功能,所以就会有那么多类似的函数abs,labs,fabs等等(每种类型都要考虑一个不同的函数名)。2.C语言标准就规定不允许同一作用域中两个函数重名。和C语言相关的域有两种,一个是给编译器看得,还有一种是给链接器看的,而给编译器看的这种域主要是关于变量的可见范围,而链接器看到的那个是叫文件域,而全局域可能要跨越好几个

2015-10-21 00:47:10 2206

转载 完全二叉树的判断

bool is_complete(Tree *root){queue q;Tree *ptr;// 进行广度优先遍历(层次遍历),并把NULL节点也放入队列q.push(root);while ((ptr = q.pop()) != NULL){q.push(ptr->left);q.push(ptr->right);}// 判断是否还有未被访问

2015-10-16 21:28:48 369

转载 死锁

产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。产生死锁的四个必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3)不可剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4)循环等待条件:若干进程之间形成一种头尾相接

2014-04-28 21:41:50 463

原创 字符串拷贝函数

char *strcpy(char *strDest,const char *strSrc){     if()}

2014-04-28 21:30:17 642

原创 字串查找

给定一个字符串A,要求在A中查找一个子串B。如A="ABCDF",要你在A中查找子串B=“CD”。char *strstr(const char *strSrc, const char *str)     {         assert(strSrc != NULL && str != NULL);         const char *s = strSrc;     

2014-04-25 20:21:32 456

原创 C++基本概念

什么是虚函数?在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数

2014-04-25 20:05:31 465

原创 重建二义树

BinaryTreeNode* Construct(int* preorder, int* inorder, int length){    if(preorder == NULL || inorder == NULL || length         return NULL;    return ConstructCore(preorder, preorder + length

2014-04-25 19:43:16 383

转载 malloc/free与new/delete的区别

相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内

2014-04-25 19:41:37 285

原创 在一个字符串中找到第一个只出现一次的字符

char FindFirstNoRepeatChar(const char *str){assert(str != NULL);const char *s = str;for(; *str != '\0'; ++str){for(s = (++str),--str; *s != '\0' && *s != *str; s++)NULL;if(*s == '\0')

2014-04-25 19:39:14 323

转载 strlen

原型:extern int strlen(char *s);  用法:#include   功能:计算字符串s的(unsigned int型)长度  说明:返回s的长度,不包括结束符NULL。  举例:  // strlen.c  #include   #include   main()  {  char *s="Go

2014-04-08 20:34:22 326

转载 二维数组与指针

二维数组作为函数参数传递剖析(C语言)(6.19更新第5种)前言  很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错://对于一个2行13列int元素的二维数组//函数f的形参形式f(int daytab[2][13]) {...}//以下两种可以忽略行数f(int daytab[][13]) {...}f(int (*daytab)[13

2014-04-07 21:29:47 472

原创 字符串反转

char *stringReverse(char *string){    char *start=string;char *left=string;char ch;if (string !=NULL){   while(*string != '\0')   string++;string -=1;           //1while(left {

2014-04-05 14:26:14 330

原创 exit

C语言中Exit函数的使用exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值.. exit(1)表示进程正常退出. 返回 1;exit(0)表示进程非正常

2014-04-04 20:52:57 341

原创 ASCII码表

ASCII码对照表下表列出了字符集中的 0 - 127。代码字符代码字符代码字符代码字符0 32[空格]64@96`1 33!65A97a2 34"66B98b3 35#67C99c

2014-04-03 20:00:43 1741

转载 寻找数组中的最大值最小值问题

转自http://blog.csdn.net/insistgogo/article/details/7693743问题描述:给出一个数组,包含N个整数,那么需要比较多少次找到最大值和最小值注意:要想得到最大值和最小值,遍历一遍数组是不可避免的。我们能减少的就是减少比较次数来提高效率方法一、遍历一遍数组,同时得到最大值和最小值具体是,定义一个max 和 min,每遍历

2014-03-31 15:46:14 1125

原创 Fibonacci数列

long long Fibonacci_Solution1(unsigned int n){    if(n         return 0;    if(n == 1)        return 1;    return Fibonacci_Solution1(n - 1) + Fibonacci_Solution1(n - 2);}/

2014-03-31 15:11:26 347

原创 链表问题

给定单链表的头指针和一个节点指针,在O(1)时间内删除该节点void DeleteNode(ListNode** pListHead, ListNode* pToBeDeleted){    if(!pListHead || !pToBeDeleted)        return;    // 要删除的结点不是尾结点    if(pToBeDeleted->m_p

2014-03-28 17:05:14 314

转载 字符串函数

点击打开链接

2014-03-28 15:26:25 317

空空如也

空空如也

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

TA关注的人

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