本段程序实现串的存储结构是采用堆的动态分配存储表示,并实现了几乎所有常用的串的配套函数
其中逻辑性比较强的就是串的模式匹配算法,在下面的程序中,分别用BF算法和KMP算法对其进行了
实现。
#include
using namespace std;
struct HString
{
HString()
{
ch = 0;
length = 0;
}
char * ch;//...
分类:
编程语言 时间:
2014-05-14 01:12:35
阅读次数:
378
快速排序原理:
快速排序先把等待排序的集合打乱顺序,把第一个元素作为基准元素,为第二个元素和最后一个元素分配两个指针i和j,如果a[i]小于基准元素则i++,如果a[j]大于基准元素则j--,这样把大于基准元素的a[i]和小于基准元素的a[j]互换,以此类推,最终把基准元素与a[j]相交换,就得到一个a[j]左侧全部小于a[j],右侧全部大于a[j]的一个近似有序数组,然后按照如上步骤重新寻找每个被a[j]分开的数组中的分隔点,最终得到有序数组。
在通用排序中,一般都会选取快速排序来解决问题。...
分类:
其他好文 时间:
2014-05-13 07:40:24
阅读次数:
290
如何实现自己特定的内存管理,如何正确替换C++中的全局运算符new和delete...
分类:
编程语言 时间:
2014-05-13 06:18:23
阅读次数:
386
环境说明
1、硬件说明
使用三台PC机,角色分配如下
2、软件说明
约定所有软件都放在/usr/local/路径下
准备工作
1、安装jdk
2、配置SSH
Storm集群安装
安装流程图
1、安装Zookeeper集群
2、安装Storm依赖
zeromq、jzmq、pytho...
分类:
其他好文 时间:
2014-05-13 05:44:31
阅读次数:
345
刚刚看了学院的CCNA视频教程,下面做个简单记录:1、思科网络分层:a、作用:个人干个人的事情,大家协作起来好做事。谁出了问题,我就去找谁,不用胡子、眉毛一把抓。b、分成三层:接入层、分配层、核心层。c、网络分层是逻辑上的,不是物理上的d、网络分层一般是在设计网络时..
分类:
其他好文 时间:
2014-05-13 04:48:04
阅读次数:
392
组策略。计算机系统平局分配允许nlamTERMSRV/*
分类:
其他好文 时间:
2014-05-13 04:39:49
阅读次数:
243
1.OpenFileDescriptorsLinux在系统调用,大量的系统调用都依赖于文件描述符,而文件描述符可分配给进程的最大大小由资源限制来定义。因此,如果文件描述符大小不够,或有不正常网络连接(Socket也算)、文件IO没有关闭并释放出文件描述符。也可以说是文件句柄(FileOperator),..
分类:
系统相关 时间:
2014-05-13 02:24:29
阅读次数:
470
1.进程和线程的差别。
线程是指进程内的一个执行单元,也是进程内的可调度实体.
与进程的区别:
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
(4)系统开销:在创建或撤消进程时,由于系统都要为...
分类:
编程语言 时间:
2014-05-13 00:10:50
阅读次数:
390
1.内存分配方式
内存分配方式有三种:
[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
[3]从堆上分配,亦...
分类:
其他好文 时间:
2014-05-12 23:57:25
阅读次数:
508
1.Heap与stack的差别
Heap是堆,stack是栈。
Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。
Stack空间有限,Heap是很大的自由存储区
C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。
程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行。
2...
分类:
编程语言 时间:
2014-05-12 23:21:25
阅读次数:
653