正在加载图片...
1、常量定义(# define),类型定义( typedef)及函数原型定义(# include); 2、算法函数,即 InitStack、 StackEmpty、Push和Pop、 conversion等 主函数。 示例程序1, InitStack、 Stack Empty、Push和Pp、 conversion等在C60中的调试: typedef int SElemType typedef struct i SElemType*base;/*在栈构造之前和销毀之后,base的值为NUL*/ SElemType /*栈顶指针*/ int stacksize;/*当前已分配的存储空间,以元素为单位*/ I SqStack #define stacK INIt size 100 #define StacKincrement 10 #define oK 1 #define overflow-1 #define error o typedef int Status #include <malloc. h> #include <stdio. h> Status InitStack(SqStack &s) (STACK INIT SIZE sizeof(SElem Type)) if(!s base) return(OVERFLOW) s. stacksize= STACK INIT Size 1/* InitStack * Status PushSqStack &s, SElemType e) ISElemT if (s top -s base /*栈满,追加存储空间*/ (s base, (s stacksize+STACKINCREMENT) *sizeof (SElem Type)) f(!l temp) return(OVERFLOW) s top s base+s. stacksize s. stacksize + STACKIncrement *(s top++)=e: return OK1、常量定义(#define),类型定义(typedef)及函数原型定义(#include); 2、算法函数,即 InitStack、StackEmpty、Push 和 Pop、conversion 等; 3、主函数。 示例程序1,InitStack、StackEmpty、Push和Pop、conversion等在VC6.0中的调试: typedef int SElemType; typedef struct{ SElemType *base; /* 在栈构造之前和销毁之后,base的值为NULL*/ SElemType *top; /* 栈顶指针 */ int stacksize; /* 当前已分配的存储空间,以元素为单位*/ }SqStack; #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 #define OK 1 #define OVERFLOW -1 #define ERROR 0 typedef int Status; #include <malloc.h> #include <stdio.h> Status InitStack(SqStack &s) { s.base=( SElemType *)malloc (STACK_INIT_SIZE * sizeof(SElemType)); if(!s.base) return(OVERFLOW); s.top = s.base; s.stacksize = STACK_INIT_SIZE; return OK; } /* InitStack */ Status Push(SqStack &s, SElemType e) {SElemType *l_temp; if (s.top - s.base >= s.stacksize) /* 栈满,追加存储空间 */ { l_temp=(SElemType*)realloc (s.base,(s.stacksize+STACKINCREMENT) *sizeof(SElemType)); if (!l_temp) return(OVERFLOW); s.base = l_temp; s.top = s.base + s.stacksize; s.stacksize += STACKINCREMENT; } *(s.top++) = e; return OK; } /* Push */ Status Pop(SqStack &s, SElemType &e)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有