上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页
摘要: 现代C++程序设计比较推崇使用模板STL。STL是C++中一个非常重要的改革。在C++03之后,STL表现非常不错,STL中提供了一些常见的算法。这些算法可以直接使用,而不需要自己再去写,效率。 简单总结一下STL一些比较好的算法。 一. 非变易算法 1. for_each:遍历容器元素进行操作 该... 阅读全文
posted @ 2012-10-11 23:13 Mr.Rico 阅读(919) 评论(0) 推荐(0)
摘要: 1. strspn与strcspn 2. strtok与strpbrk 3. strstr, strchr与strrchr 4. 字符串与数值之间的转换:atoi,atol,atof,strtod,strtol,strtoul 5. frexp和ldexp 1. strspn与strcspn (1)... 阅读全文
posted @ 2012-10-11 23:05 Mr.Rico 阅读(1291) 评论(1) 推荐(0)
摘要: C语言中的时间相关的函数 是C标准函数库中获取时间与日期、对时间与日期数据操作及格式化的头文件。宏: NULL null是一个null指针常量的值 CLOCKS_PER_SEC 每秒的时钟数变量:typedefsize_t类型定义typedefclock_t类型定义structtm结构体struct... 阅读全文
posted @ 2012-10-11 23:03 Mr.Rico 阅读(317) 评论(0) 推荐(0)
摘要: C语言在 头文件定义了一些宏,当函数参数未知时去获取函数的参数。包括一个va_list类型和三个函数(宏)va_start, va_arg和va_end .变量和定义va_list类型通过stdarg宏定义来访问一个函数的参数表,参数列表的末尾会用省略号省略声明:void va_start(va_l... 阅读全文
posted @ 2012-10-11 23:01 Mr.Rico 阅读(309) 评论(0) 推荐(0)
摘要: 第4章 程序活动记录 在内存资源分配的具体实现上,堆和栈的具体区别: 申请后系统的响应 栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。 堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时, 会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样,代码中的delete语句才能正确的释放本内存空间。另外,由于找到的堆结点的大小不一定正好等于申请的大小,系统会自动的将多余的那部分重新放入空闲链表中。 2.3 阅读全文
posted @ 2012-10-11 22:55 Mr.Rico 阅读(254) 评论(0) 推荐(0)
摘要: 第3章 数据结构与算法 1. memmove边界问题 voidmemmove_(char*pDst,constchar*pSrc,size_tsize){assert(pSrc!=NULL&&pDst!=NULL);constchar*p;char*q;if(pSrcpDst){p=pSrc+size-1;q=pDst+size-1;while(size--)*q--=*p--;}else{p=pSrc;q=pDst;while(size--)*q++=*p++;}}2. 出错处理方式3. 字符串算法的实现(1) strstr函数: 进行了比较好的判断, 主要是便于比较快的结束 阅读全文
posted @ 2012-10-11 22:46 Mr.Rico 阅读(302) 评论(0) 推荐(0)
摘要: 1. 删除C/C++代码中的注释#include#include#includeusingnamespacestd;voidremove_comment(char*buf,intn){char*p=buf,*end=buf+n;char*sq_start,*dq_start,*lc_start,*bc_start;sq_start=0;//字符:单引号开始dq_start=0;//字符串:双引号开始lc_start=0;//C++注释//bc_start=0;//C语言注释/**/while(pnext->nex, q每次移动一个位置, 即q=q->next, 当p到达最后一个节点 阅读全文
posted @ 2012-10-11 21:06 Mr.Rico 阅读(1163) 评论(0) 推荐(0)
摘要: 首先说明一下快速排序是对冒泡排序的改进。为什么这么说呢?想一下冒泡排序,它把序列分成了两部分,前半部分无序,后半部分升序排列,并且后半部分的数都大于前半部的数。由此可得到快速排序和冒泡排序的一些共同点: 都要经历n趟排序 每趟排序要经历O(n)次比较 都是后半部分元素比前半部大而不同之处就在于冒泡排序的交换操作发生相邻的元素之间,即一趟排序可以要经过多次交换操作;快速排序的交换操作发生在间隔比较远的两个元素之间,一趟排序要经过交换操作次数会少一些。一般的快速排序采用的是递归的方式进行实现的,而且一般只要是递归的问题,都可以转化为非递归的实现,而实现的时候一般采用的是堆栈数据结构。快排的主要思想 阅读全文
posted @ 2012-10-11 14:45 Mr.Rico 阅读(754) 评论(0) 推荐(0)
摘要: 9. 关系数据库的范式 10. 数据库操作中的事务 事务的4个特性: 11. 数字矩阵的生成: 对应的代码如下: #include#include#include#defineprint_arr2d(arr,N){for(inti=0;i=0;j--)arr[i][j]=m++;}else{for(intj=0;j=0;j--)arr[j][i]=m++;}}print_arr2d(arr,N);}/*12671535814164913172210121821231119202425*/voidmat_2(){constintN=5;inta[N][N];intm=1;intK=0;for(i 阅读全文
posted @ 2012-10-11 12:46 Mr.Rico 阅读(449) 评论(0) 推荐(0)
摘要: 在STL中,迭代器主要分为5大类:Input Iterator, Output Iterator, Forward Iterator, Bidirectional Iterator和RandomAccess Iterator。关系如下:其中每一个左边的迭代器都实现了右边迭代器的方法。左边迭代器是对右边迭代器的进一步强化。In this graph, each iterator category implements the functionalities of all categories to its right:(1) Input and output iterators are the 阅读全文
posted @ 2012-10-10 22:13 Mr.Rico 阅读(843) 评论(0) 推荐(0)
摘要: 下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如下: 转: CPU的等待有多久? 原文标题:What Your Computer Does While You Wait 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下。一来自己复习,二来与大家分享。] 本文以一个现代的、实际的个人电脑为对象,分析其中CPU(Intel Core 2 Duo 3.0GHz)以及各类子系统的运行速度——延迟和数据吞吐量。通过粗略的估算PC各个组件的相对运行速度,希望能给大家留下一... 阅读全文
posted @ 2012-10-08 13:57 Mr.Rico 阅读(43093) 评论(6) 推荐(11)
摘要: 第3部分 装载与链接 第6章 可执行文件的装载与进程 第1节 进程的虚拟地址空间 linux下虚拟地址空间的分配 第2节. 程序装载方式 1. 覆盖装入 2. 页映射 第3节 从操作系统角度看可执行文件的装载 1. 进程的建立过程 2. 页错误 第4节 进程虚存空间分布 1. ELF文件链接视图和执行视图 下面通过一个小例子查看实际的内存分配 2. 堆和栈 3. 堆的最大申请数量 5. 进程栈初始化 第5节 Linux 内核装载ELF过程简介 第6节 Windows PE的装载 第7章 动态链接 第8章 共享库的组织 第9章 Windows下的动态链接 第10章 内存 第1节 程序的内存布局 阅读全文
posted @ 2012-10-06 14:45 Mr.Rico 阅读(827) 评论(0) 推荐(1)
摘要: 第1部分 简介 第1部分 简介 第1章 温故而知新 1. 早期计算机的硬件结构 北桥芯片:主要处理高速芯片 南桥芯片:主要处理低速设备 2. 内存的分配 在早期的计算机中, 操作系统对内存的管理存在很大的问题. (1) 地址空间的不隔离 (2) 内存使用率低 (3) 程序运行的地址不确定 解决方法就是增加一个中间层, 将程序给出的地址作为虚拟的地址, 然后通过某种映射方法将虚拟地址映射到实际的物理地址. 3. 虚拟内存到物理内存的映射: 分段 分段的方法解决了地址空间不隔离和程序运行的地址不确定这两个问题, 但是没有解决内存使用率低的问题. 4. 分页机制 现代操作系统是将分段和分页机制联合起 阅读全文
posted @ 2012-10-06 14:36 Mr.Rico 阅读(968) 评论(0) 推荐(1)
摘要: 第1篇 基础篇第1章 绪论1. DBMS的地位2. DBMS必须提供的数据控制功能3. E-R图3. 关系数据库第2章 关系数据库1. 关系操作第3章 结构化查询语言SQL1. SQL对数据库的支持 阅读全文
posted @ 2012-10-05 16:18 Mr.Rico 阅读(271) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2012-10-05 15:55 Mr.Rico 阅读(167) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页