2019-05-11(用 顺序表表示栈 不完整)

2019-05-11  本文已影响0人  常人
 /* c1.h (程序名) */
 #include<string.h>
 #include<ctype.h>
 #include<malloc.h> /* malloc()等 */
 #include<limits.h> /* INT_MAX等 */
 #include<stdio.h> /* EOF(=^Z或F6),NULL */
 #include<stdlib.h> /* atoi() */
 #include<io.h> /* eof() */
 #include<math.h> /* floor(),ceil(),abs() */
 #include<process.h> /* exit() */
 /* 函数结果状态代码 */
 #define TRUE 1
 #define FALSE 0
 #define OK 1
 #define ERROR 0
 #define INFEASIBLE -1
 /* #define OVERFLOW -2 因为在math.h中已定义OVERFLOW的值为3,故去掉此行 */
 typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */
 typedef int Boolean; /* Boolean是布尔类型,其值是TRUE或FALSE */

/* c3-1.h 栈的顺序存储表示 */
 #define STACK_INIT_SIZE 10 /* 存储空间初始分配量 */
 #define STACKINCREMENT 2 /* 存储空间分配增量 */

 typedef struct SqStack

 {
   SElemType *base; /* 在栈构造之前和销毁之后,base的值为NULL */
   SElemType *top; /* 栈顶指针 */
   int stacksize; /* 当前已分配的存储空间,以元素为单位 */
 }SqStack; /* 顺序栈 */


 "结构体 是没有涉及到  top(属于结构属性) push(属于基本操作) pop 等*/
 /*结构体的设计 成员个数  与 成员属性是不唯一的  
    public class Stack {
    int[] data;
    int maxSize;
    int top;
    //java中的构造函数(与类名相同)
    public Stack(int maxSize){
        this.maxSize = maxSize;
        data = new int[maxSize];
        top = -1; //栈为空(top= -1) 还是 栈满(top = maxSize-1)
    }
 "
上一篇 下一篇

猜你喜欢

热点阅读