题目:设计一个算法,判断用户输入的表达式中括号是否匹配,表达式中可能含有圆括号、中括号和大括号。思路:建立一个顺序栈,当表达式中有左括号时将其入栈,当出现右括号时,将栈顶元素出栈,检查与当前右括号是否匹配。最后如果栈为空则表示该表达式中的括号是匹配的。代码:#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