下载此文档

数据结构教程 第十七课 实验三:栈的表示与实现及栈的应用.doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
?数据结构教程第十七课实验三:栈的表示与实现及栈的应用数据结构教程第十七课实验三:栈的表示与实现及栈的应用教学目的: 掌握栈的存储表示方式和栈基本操作的实现方法教学重点: 栈的基本操作实现方法,栈的应用教学难点: 栈的存储表示实验内容: 一、栈的实现实现栈的顺序存储。栈实现示例#include<> #include<> #include<> #define ERROR 0#define TRUE 1#define FALSE 0#define OK1#define EQUAL 1#define OVERFLOW -1 #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef int Status ;struct STU{ char name[20]; char stuno[10]; int age; int score; };typedef struct STU SElemType; struct STACK {SElemType *base; SElemType *top; int stacksize; };typedef struct STACK SqStack; typedef struct STACK *pSqstack; Status InitStack(SqStack **S); Status DestroyStack(SqStack *S); Status ClearStack(SqStack *S); Status StackEmpty(SqStack S); int StackLength(SqStack S); Status GetTop(SqStack S,SElemType *e); Status Push(SqStack *S,SElemType e); Status Pop(SqStack *S,SElemType *e); Status StackTraverse(SqStack S,Status (*visit)()); Status InitStack(SqStack **S) {(*S)=(SqStack *)malloc(sizeof(SqStack)); (*S)->base=(SElemType *)malloc(STACK_INIT_SIZE *sizeof(SElemType)); if(!(*S)->base)exit(OVERFLOW); (*S)->top=(*S)->base; (*S)->stacksize=STACK_INIT_SIZE; return OK; }Status DestroyStack(SqStack *S) {free(S->base); free(S); }Status ClearStack(SqStack *S) {S->top=S->base; }Status StackEmpty(SqStack S) {if(==) return TRUE; else return FALSE; }int StackLength(SqStack S) {int i; SElemType *p; i=0; p=; while(p!=) {p++; i++; }}Status GetTop(SqStack S,SElemType *e) {if(==) return ERROR; *e=*(-1); return OK; }Status Push(SqStack *S,SElemType e) {/*if(S->top -S->base>=S->stacksize) {S->base=(SElemType *)realloc(S->base, (S->stacksize +STACKINCREMENT) *sizeof(SElemType)); if(!S->base)exit(OVERFLOW); S->top=S->base+S->stacksize; S->stacksize +=STACKINCREMENT; }*/*(S->top++)=e; return OK; }Status Pop(SqStack *S,SElemType *e) {if(S->top==S->base) return ERROR; *e=*--S->top; return OK; }Status StackPrintElem(SElemType *e) {printf("%s %s%d%d\n",e->name,e->stuno,e->age,e->score); }Status StackTra

数据结构教程 第十七课 实验三:栈的表示与实现及栈的应用 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小0 KB
  • 时间2016-06-28