题目:设计一个算法,判断用户输入的表达式中括号是否匹配,表达式中可能含有圆括号、中括号和大括号。思路:建立一个顺序栈,当表达式中有左括号时将其入栈,当出现右括号时,将栈顶元素出栈,检查与当前右括号是否匹配。最后如果栈为空则表示该表达式中的括号是匹配的。代码:#include
#include
using namespace std;
#define MaxSize...
分类:
编程语言 时间:
2015-06-05 21:17:56
阅读次数:
287
参考文献:数据结构(c语言版)---严蔚敏p44----->p47
代码如下:
#include//malloc realloc
#include//cin cout
using namespace std;
typedef int ElemType;/*元素类型*/
#define STACK_INIT_SIZE 100 /*栈存储空间初始化容量*/
#define STACKINCR...
分类:
其他好文 时间:
2015-05-30 16:43:21
阅读次数:
1940
栈_STACK
栈的基本操作
栈的代码实现
栈的C语言实现
栈的C实现
结论
本文中的完整代码你可以在这里:
https://github.com/qeesung/algorithm/tree/master/chapter10/10-1/栈或者这里:顺序栈的实现:http://download.csdn.net/detail/ii1245712564/8744663
链式栈的实现:http://...
分类:
其他好文 时间:
2015-05-29 14:03:00
阅读次数:
259
头文件:
#pragma once
#include
#include
#include
using namespace std;
template
class SeqStack
{
public:
SeqStack(size_t sz = INIT_SZ);
~SeqStack();
public:
bool empty()const;
bool full()cons...
分类:
编程语言 时间:
2015-05-29 10:11:53
阅读次数:
143
头文件:
#pragma once
#include
#include
using namespace std;
template
class SeqStack
{
public:
SeqStack(size_t sz = INIT_SZ);
~SeqStack();
public:
bool empty()const;
bool full()const;
...
分类:
编程语言 时间:
2015-05-28 21:30:58
阅读次数:
261
首先定义顺序栈的存储结构 1 /* 栈的顺序存储结构 2 **/ 3 #define STACK_INIT_SIZE 100 //存储空间的初始分配量 4 #define STACK_INCREMENT 10 //存储空间的分配增量 5 typedef int SElemType; 6 typed....
分类:
其他好文 时间:
2015-05-25 22:14:35
阅读次数:
206
今天简单的实现了一下顺序栈,栈的核心函数是push(),top(),pop()。首先是我自己编写的栈,后面是STL标准库调用栈函数。
sqstack.h
//栈的简单实现lifo
#ifndef SQSTACK_H_
#define SQSTACK_H_
const int DEFAULT_SIZE=10;
#include
using std::cout;
using std::endl;...
分类:
其他好文 时间:
2015-05-25 18:49:44
阅读次数:
184
利用顺序存储结构表示的顺序表称为顺序表。 它用一组连续的地址存储单元一次存放线性表中的数据元素。顺序表的实现是数据结构中最简单的一种。由于代码中已经有详细注释,代码外不再阐述。下次再陈上关于顺序表的循环队列和顺序栈的代码。 1 package 线性表.顺序表.普通数组; 2 3 /** ...
分类:
编程语言 时间:
2015-05-24 20:24:14
阅读次数:
198
栈的构成及初始化对于“先进后出”的顺序栈,需要控制3个量:栈元素,栈顶指针,栈容量。栈容量即栈的最大容量,若超过会产生溢出错误。当然,必要时也可以扩充容量。栈元素可以通过动态数组( base[] )存放。初始化时用 malloc 申请(栈容量 * 元素类型)个空间。栈顶指针用于记录栈元素个数,始终指...
分类:
编程语言 时间:
2015-05-24 11:24:38
阅读次数:
215
今天总结栈的顺序存储结构
什么是栈?
栈是一种线性表,其特点是限定尽在表尾进行插入和删除操作,表尾栈一段也叫栈顶,另一端就是栈底了。既然栈是线性表,那么栈也就有两种存储数据的方式,顺序存储和链式存储。今天实现的是顺序存储的栈,也就顺序栈。
图示(来自百度图片):
顺序栈的实现:
栈的顺序存储还是比较简单的,就是对数组进行操作。
#include
using name...
分类:
编程语言 时间:
2015-05-11 17:56:25
阅读次数:
179