摘要: [数据结构]之栈1 描述栈:后进先出的数据结构。栈是封底的,只能从一个方向写入读出。栈的实现有两种,基于顺序表方式和基于链表方式。栈的场景:比如浏览器的返回场景。顺序表实现:1)在顺序表的基础上创建栈。2)使用arr[0]作为栈底,arr[MAXSIZE]为栈顶。Top当栈顶元素位置标志,从0-MAXSIZE之间。3)局限:分配的空间固定。链表实现:1)链表的基础上创建栈。2)使用末尾节点作为栈底,头节点为栈顶。Top为栈顶元素位置标志。2 数据结构* 顺序表实现:1)属性元素数组 elemets 栈顶元素位置 top元素个数 length(值为top+1)2)操作NewStack 初始化,建 阅读全文
posted @ 2013-08-03 10:03 零界寒冰 阅读(157) 评论(0) 推荐(0) 编辑
摘要: [数据结构]之队列1 描述队列是一种先进先出的线性数据结构。在队首出队,在队尾入队。队列这个是和栈相对的。比如银行的排队机制2 数据结构属性:元素数组 elemets 队尾位置 tail元素个数 length(值为top+1)方法:NewQueue 初始化队列,创建空队列clear 清除元素IsEmpty 判断是否为空offer 添加元素poll 删除队首元素peek 获取队首元素3 go语言实现 package main import ( "fmt" ) const CAP = 20 type Queue struc... 阅读全文
posted @ 2013-08-03 10:00 零界寒冰 阅读(139) 评论(0) 推荐(0) 编辑
摘要: [数据结构]之链表1 描述链表:对于当前链表中元素,除了存储本身的值,还存储有指示后面元素的地址(通常是指针或引用)。节点:每一个链表的元素称为一个节点。2 数据结构节点Node,链表Linklist1)节点属性存储的数据 data指向下一元素的指针 next2)链表属性链表的起始节点 begin当前长度 3)操作Get(index)获取元素Insert(index,elem) 插入元素Delete(index) 删除第i个元素3 go语言实现package main import ( "fmt" ) /* * 定义节点 ... 阅读全文
posted @ 2013-08-03 09:59 零界寒冰 阅读(144) 评论(0) 推荐(0) 编辑
摘要: [数据结构]之顺序表描述顺序表:是指在一段连续的存储单元存储数据的线性表。多使用数组来实现。数据结构1 属性:最大长度 CAP当前长度 Length存储数组 Elements2 操作:Get(index) 获取元素Insert(index,elem) 插入元素Delete(index) 删除第index个元素## 实现使用go语言实现代码如下: package main import ( "fmt" ) const CAP = 20 type SqList struct { elemets [CAP]str... 阅读全文
posted @ 2013-08-03 09:51 零界寒冰 阅读(189) 评论(0) 推荐(0) 编辑