资源简介
数据结构例程。。。
按照陈越姥姥的笔记写的。。。
代码片段和文件信息
#include
#include
#include
#include
#define init_size 20
#define increment 20
typedef char ElemType;
typedef struct sqStack
{
ElemType *top;
ElemType *base;
int stack_size;
};
void init_stack( sqStack *s)
{
s->base = ( ElemType*)malloc(init_size * sizeof( ElemType ) );
if ( !s->base )
exit(0);
s->top = s->base;
s->stack_size = init_size;
}
void push( sqStack *s ElemType e)
{
if ( s->top - s->base >= s->stack_size ){
s->base = (ElemType *)realloc( s->base (s->stack_size + increment) * sizeof( ElemType) );
if ( !s->base)
exit(0);
}
*(s->top) = e;
s->top++;
}
void pop( sqStack *s ElemType *e)
{
if ( s->top == s->base)
return ;
s->top --;
*e = *(s->top);
}
int stacklen( sqStack *s)
{
return s->top - s->base;
}
int main(void)
{
sqStack s;
init_stack(&s);
char str[100];
ElemType temp;
int i = 0;
char e;
scanf(“%c“ &e);
while ( e != ‘\n‘)
{
while ( isdigit(e)) //分离数字
{
printf(“%c“ e);
scanf(“%c“ &e);
}
printf(“ “);
if ( ‘*‘==e || ‘/‘==e || ‘(‘==e) // * / 直接入栈
{
push( &s e);
}
else if ( ‘)‘== e ) // 反括号一直弹栈直至正括号
{
do
{
pop( &s &temp);
printf(“%c “ temp);
}while ( ‘(‘ != temp);
}
else if ( ‘+‘==e || ‘-‘==e) //加减号
{
if ( !stacklen(&s) ) // 如果空栈, 直接入栈
{
push( &s e);
}
else
{
do
{
pop(&s &e);
if ( ‘(‘ == e)
push(&se);
else
printf(“%c “ e);
}while( stacklen(&s) && ‘(‘ != e);
push( &s e);
}
}
else if ( e != ‘\n‘)
{
printf(“error!\n“);
return -1;
}
if ( e != ‘\n‘)
scanf(“%c“ &e);
}
while( stacklen(&s))
{
pop(&s &e);
printf(“%c “ e);
}
printf(“\n“);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1047 2015-10-18 16:12 堆栈的链表实现.cpp
文件 969 2015-10-18 16:10 堆栈的数组实现.cpp
文件 1401 2015-10-18 16:25 队列的链表实现.cpp
文件 1072 2015-10-18 16:17 队列的数组实现.cpp
文件 1627 2015-10-18 21:14 二叉树的遍历.cpp
文件 2449 2015-10-18 20:30 平衡二叉树.cpp
文件 1685 2015-10-18 18:45 搜索二叉树.cpp
文件 1894 2015-10-18 21:19 中缀表达式转换为逆波兰表达式.cpp
----------- --------- ---------- ----- ----
12144 8
- 上一篇:编译原理龙书第二版
- 下一篇:南海诸岛及九段线shp
相关资源
- iDAQ-USB-6009-LabVIEW例程使用说明.pdf
- 交通咨询系统数据结构课程设计 报告
- 校园导游实验报告数据结构
- cc2530 ADC例程
- 算术表达式求解 数据结构课程设计报
- 中科大数据结构与数据库课件
- 广东工业大学_数据结构内部排序算法
- 不同策略的词频统计和检索
- 停车场 数据结构课程设计源代码
- 数据结构地图着色问题
- 哈夫曼编码译码实验报告
- 基于SVM电力系统短期负荷预测的一个
- 商品货架管理
- 武汉大学十套数据结构试题及答案
- 数据结构课程设计——校园导游
- AVR M16例程大全
- STM32编码器模式测试例程
- STM32驱动max6675测温的测试例程
- 数据结构实验报告---数制转换
- 数据结构火车车厢重排问题
- 数字三轴加速度计ADXL34551单片机例程
- 建立一个带权无向图用邻接矩阵表示
- 周立功的CAN例程和资料,很详细
- 天理计算机真题答案
- 数据结构课设——哈夫曼树
- 数据结构课程设计——商品货架管理
- 数据结构八皇后问题实验报告
- 数据结构 冒泡排序 输出每一趟结果
- 树孩子—兄弟链表表示
- ARM 开发板简介及例程说明 .pdf
评论
共有 条评论