- 博客(14)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 面试题31:连续子数组的最大和
/*题目:输入一个整型数组,数组里有正数也有负数,数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。*/#include using namespace std;bool g_InvalidInput = false;int FindGreatestSumofSubarrary(int a[], int n){ //处理
2013-09-30 14:45:58 730
转载 进程与线程的区别和联系
总结起来就是,线程是进程的一部分,进程是程序的一部分。这个说法不准确,但是可以指出期间的差别; 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器
2013-09-28 14:44:37 484
转载 时间复杂度
1. 算法复杂度分为 时间复杂度和空间复杂度。 作用: 时间复杂度是度量算法执行的时间长短;而空间复杂度是度量算法所需存储空间的大小。 2. 一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f(n),因此,算法的时间复杂度记做:T(n)=O(f(n)) 分析:随着模块n的增大,算法执行的时间的增长率和f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法
2013-09-25 19:12:07 558
转载 教你透彻了解红黑树
作者:July、saturnman 2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees,Dagstuhl Workshop on Data Structures, Wadern, Germany, February, 2008.直接下载:http://www.cs
2013-09-25 14:51:23 474
原创 最小的k个数
/*输入n个整数,找出其中最小的k个数,例如输入4,5,1,6,2,7,3,8这8个数字,则最小的四个数字是1,2,3,4*/#include #include #include using namespace std;typedef multiset > intSet;typedef multiset > :: iterator SetIterator;void Ge
2013-09-24 21:55:09 514
转载 STL bitset用法总结
STL bitset用法总结 声明#include using std::bitset;bitset的定义和初始化bitset bitvec; //32位,全为0。给出的长度值必须是常量表达式。正如这里给出的,长度值必须定义为整型字面值常量或是已用常量值初始化的整数类型的const对象。这条语句把bitvec定义为含有32个位的bitset对象。和vec
2013-09-11 22:15:58 946
转载 移位运算符
移位运算符不外乎就这三种:>(带符号右移)和>>>(无符号右移)。 1、 左移运算符左移运算符1)它的通用格式如下所示:value ;num 指定要移位值value 移动的位数。左移的规则只记住一点:丢弃最高位,0补最低位如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动32位,实际上只移动了1位。(移动30位,相当于到了第31位(从0
2013-09-10 17:16:49 445
原创 STL的几个算法应用
#include #include #include #include #include #include #include #include using namespace std;class LessThan9{ public: bool operator()(int n) { re
2013-09-07 16:24:15 549
转载 内联函数的使用及注意点
内联函数的使用及注意点内联函数并不总是内联 Inline function是在C++中引入的一种机制,它可以拓展函数代码,避免调用函数的额外开销。在Linux环境下,gcc编译选项必须加上优化选项才能使inline有效。inline与static的关系 在这儿有一个比较详细的分析:http://www.cnblogs.com/xkfz007/articles/2
2013-09-06 16:21:55 949
转载 C++内存管理经典
1、内存分配方式内存分配方式有三种:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3) 从堆上分配,亦称动态
2013-09-05 21:10:16 518
原创 关于字符变量址输出问题
#include using namespace std;int main(){ int a = 1; cout char *p = new char; char b; b = 'x'; p = &b; cout double c = 1.00; cout return 0;}
2013-09-05 19:22:19 718
转载 assert()函数用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badp
2013-09-05 18:35:32 518
转载 存储行业学习资源推荐
移动互联网、物联网、云计算、电子商务、商业智能、信息搜索、社会化网络,......,IT领域从来都不缺乏热门技术趋势和商业噱头。这可苦了我等IT人,毕竟时间和精力是很有限的,我们需要选择一两个方向作为自己的职业或事业目标,所谓术业有专攻,选对了方向有可能事半功倍。我在这里给力地推荐存储行业,一个非常有潜力的领域,它是网络技术后的又一个技术浪潮。推荐理由呢?其一,物质、能量和信息是自然科学研究的三个
2013-09-05 16:03:17 693 2
转载 输入输出流
1.cin、cin.get()、cin.getline()cin: 输入一系列字符,其中自动略过空格、tab、换行符等空白符。遇到文件结束符时返回0,但并不把这个0值放到输入对象中。 cin.get(): 接收一个输入字符(包括空白符),返回该字符值,遇到文件结束符时,返回EOF(即这个文件结束符)。 2.peek、putback、ignore ignor
2013-09-03 10:48:09 508
linux文本模式显示问题
2013-12-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人