DS
拂晓Skyler
Stay hungry,Stay foolish!
展开
-
C++实现单链表
#include #include using namespace std; typedef int DataType; //定义链表结点的结构体 struct LinkNode { DataType _data; LinkNode* _next;//错误,此处的类型为LinkNode* 而不是 LinkNode LinkNode(DataType data) :_data(da原创 2015-11-07 23:43:23 · 497 阅读 · 0 评论 -
Min栈——用O(1)时间复杂度返回当前栈中最小元素
题目描述: 定义栈的数据结构,要求添加一个Min函数,能够得到当前栈中的最小元素。 要求函数min,push,pop的时间复杂度都是O(1). 思路:另外用一个最小栈做辅助结构,记录栈中的最小元素。元素栈中保存要入栈的元素。最小栈保存当前的最小元素。 具体过程如下: 1)、入栈时,先入元素栈,同时与最小栈顶元素比较,如果比栈顶元素小,则最小元素入最小原创 2015-11-08 00:02:54 · 2695 阅读 · 0 评论 -
C++实现广义表
定义: 广义表是n(n≥0)个元素a1,a2,…,ai,…,an的有限序列。 其中: ①ai--或者是原子或者是一个广义表。 ②广义表通常记作: Ls=( a1,a2,…,ai,…,an)。 ③Ls是广义表的名字,n为它的长度。 ④若ai是广义表,则称它为Ls的子表。 注意: ①广义表通常用圆括号括起来,用逗号分隔其中的元素。 ②为了区分原子原创 2015-11-08 16:31:45 · 3265 阅读 · 0 评论 -
C++实现二叉树
实现代码 #pragma once #include #include #include using namespace std; template struct BinTreeNode { T _data; BinTreeNode* _lchild; BinTreeNode* _rchild; BinTreeNode(T data) :_data(T()) ,_lch原创 2015-11-16 21:25:41 · 462 阅读 · 0 评论