![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Date Structure
lulipeng_cpp
计算机迷
展开
-
树状数组学习小结
树状数组,又称二进制索引树,英文名Binary Indexed Tree。一、树状数组的用途主要用来求解数列的前缀和,a[0]+a[1]+...+a[n]。由此引申出三类比较常见问题:1、单点更新,区间求值。(HDU1166)2、区间更新,单点求值。(HDU1556)3、求逆序对。(HDU2838) 二、树状数组的表示1、公式表示设A[]为一个已知的数列。C原创 2012-08-01 00:55:29 · 8344 阅读 · 9 评论 -
单链表之C++实现
在实现单链表时要注意对单链表的逻辑存储、物理存储有清晰的概念。如上图链表已经完成,其逻辑结构如上。当需要对其进行操作,比如插入、删除,通常需要引入指针,如上的ptr1、ptr2。在编程时一定要注意通过ptr1、ptr2对链表结构的操作是正确的。而不仅仅是你觉得正确的。 下面给大家看下我的单链表的实现,错误之处还请指正。1、VC6实现,包括三个文件:sll.h、sll.c原创 2013-08-25 11:33:28 · 1594 阅读 · 0 评论 -
双向链表之C++实现
双向链表只是在单向链表的基础上增加了一条前向链,其中的很多处理方法都是相似的。比如求链表长、寻找某一节点等。所有相似的部分就不一一实现了。有兴趣可以参考前面的博文。 以下我实现的双向链表(VC6下实现)。错误之处还请指正。1、代码组织 2、dll.h双链表及节点的说明#ifndef _DLL_H_#define _DLL_H_#define da原创 2013-08-28 13:07:06 · 1418 阅读 · 0 评论 -
顺序栈之C++实现
顺序栈就是用顺序表(数组)实现的栈。其组织形式如下图所示: 下面介绍下我用C++实现的顺序栈,在VC6下调试通过。不足之处还请指正。1、文件组织 2、ss.h栈类的声明及宏的定义#ifndef _SS_H_#define _SS_H_typedef int dataType;#define maxSize 100clas原创 2013-08-30 13:36:45 · 2916 阅读 · 0 评论 -
链栈之C++实现
链栈是借用单链表实现的栈。其不同于顺序栈之处在于:1、链栈的空间是程序运行期间根据需要动态分配的,机器内存是它的上限。而顺序栈则是静态分配内存的。2、链栈动态分配内存的特性使得它一般无需考虑栈溢出的问题。 链栈的的组织结构如下图所示。容易发现其是架构的单链表的基础之上的。 下面介绍下我用C++实现的链栈,VC6下调试。1原创 2013-08-30 20:58:22 · 10440 阅读 · 0 评论 -
链队列之C++实现
链队列时建立在单链表的基础之上的。由于是动态分配节点内存,所以无需判满。 下面介绍下C++实现的链队列,VC6下调试通过。1、文件组织 2、lq.h链队列类的说明#ifndef _LQ_H_#define _LQ_H_typedef int dataType;struct node //队列节点{原创 2013-08-31 19:31:53 · 4741 阅读 · 0 评论 -
顺序队列之C++实现
下面介绍下用C++实现的顺序队列,在VC6下调试通过。1、文件组织形式 2、sq.h顺序队列类的说明#ifndef _SQ_H_#define _SQ_H_typedef int dataType;#define maxSize 100class sq{public: sq(); //~sq(); void push(dataType原创 2013-08-31 18:05:13 · 3088 阅读 · 0 评论