03 2014 档案
摘要:树利用顺序存储和链式存储的特点,可以实现树的存储结构的表示,具体表示法有很多种。1)双亲表示法:在每个结点中,附设一个指示器指示其双亲结点在数组中的位置。2)孩子表示法:把每个结点的孩子排列起来,以单链表作存储结构,则n个结点有n个孩子链表,如果是叶子结点则此单链表为空。然后n个头指针又组成一个线性...
阅读全文
摘要:子串在主串中的定位操作通常称做串的模式匹配。KMP模式匹配算法实现:/* Index_KMP.h头文件 */#include#includevoid get_next(std::string T,int *next){ unsigned int i,j; i=1; j=0; next[1]=0; w...
阅读全文
摘要:队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出。简称链队列。实现代码如下:/* LinkQueue.h 头文件 */#include#define OK 1#define ERROR 0typedef int QElemType;typedef int Status;class Q...
阅读全文
摘要:队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。循环队列是一种头尾相接的顺序存储结构。具体实现代码如下:/* SqQueue.h 头文件 *...
阅读全文
摘要:如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈;反之,如果它的变化在可控范围内,使用顺序栈会好一些。简单的栈的链式存储结构代码如下:/*LinkStack.h*/#include#define OK 1#define ERROR 0#define TRUE 1#defin...
阅读全文
摘要:栈(stack)是限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。栈又称为后进先出(Last In First Out)的线性表,简称为LIFO结构。用数组方式实现简单的栈的代码如下:/* SqStack.h*/#include#def...
阅读全文
摘要:单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素。对于查找操作,单链表的时间复杂度为O(n)。对于插入和删除操作,单链表在确定位置后,插入和删除时间仅为O(1)。单链表不需要分配存储空间,只要有就可以分配,元素个数也不受限制。链式存储结构中,结点由存放数据元素的数据域和存放后继结点地址的...
阅读全文
摘要:线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。故可以用数组来实现顺序存储结构。用C++编写的利用数组实现简单的读取、插入和删除功能的线性表。#include#define MAXSIZE 20#define OK 1#define ERROR 0#define TUR...
阅读全文
摘要:原文地址:http://www.cnblogs.com/qyaizs/articles/2039101.htmlstruct和typedef struct分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct S...
阅读全文
摘要:第一篇:typedef struct与struct的区别1. 基本解释typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确...
阅读全文
摘要:原文地址:http://blog.csdn.net/lsldd/article/details/13506263不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作...
阅读全文