数据结构学习
文章平均质量分 64
u010856711
这个作者很懒,什么都没留下…
展开
-
数据结构----顺序栈
与线性表类似栈也有两种存储结构,即顺序存储结构和链表存储结构。栈的顺序存储结构亦称为顺序栈,它是运算受限的顺序表。#pragma onceclass stack{public: stack(void); stack(int maxsize); ~stack(void);private: int *m_list; int m_maxsize; int原创 2013-07-09 14:03:36 · 917 阅读 · 0 评论 -
数据结构----链表栈
以下代码利用单向链表实现数据结构栈。#include "Stack.h"//构造一个空栈,头指针为空,数据项为栈的长度CStack::CStack(void){ m_value = 0xFFFFFFFF; m_pnext = NULL;}CStack::~CStack(void){ printf("delete %d\n", m_value)原创 2013-07-08 18:04:31 · 938 阅读 · 0 评论 -
数据结构----循环队列
为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。 循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。解决这个问题的方法至少有两种:原创 2013-07-01 16:29:31 · 1053 阅读 · 0 评论 -
数据结构----链表队列
利用C++ 单向链表实现数据结构队列,其实和上一篇基本内相同,仅仅是插入的时候在链表的尾部插入,取元素都是一样的从头部取。 #pragma once#include "stdio.h"//利用链表来实现队列,先进先出class queue{public: queue(void); queue(int value); ~queue(void);pr原创 2013-07-09 11:42:46 · 1268 阅读 · 0 评论 -
数据结构----线性表----单向链表
单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指列表中的下一个结点; #pragma once//实现单向链表class Onewayslinklist{public: Onewayslinklist(v原创 2013-06-26 15:16:39 · 920 阅读 · 0 评论 -
数据结构----线性表----双向链表
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 下边的代码实现数据结构的双向链表,可以作为基本的数据结构使用。同时由于实现了一些队列和栈的操作,也可以作为栈和队列使用。 #pragma onceclass Twoways原创 2013-06-25 17:53:18 · 968 阅读 · 0 评论 -
学习数据结构的线索
下图为数据结构学习的线索,希望我能沿着这条线索学习下去。原创 2013-06-26 15:20:07 · 1004 阅读 · 0 评论 -
适配器模式,换个包装再度利用 Adapter
// example10.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "string.h"//假设现在已经有一个类,已经实现了一些功能,并且该类经过测试已经十分稳定。//计算阶乘 n!class Factorial{pub原创 2014-03-20 10:38:52 · 994 阅读 · 0 评论 -
设计模式的迭代器模式 Iterator
// example9.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "string.h"//定义一个学生类class CStudent{public: CStudent() { m_number = 0; m原创 2014-03-18 12:23:22 · 1059 阅读 · 0 评论