数据结构--ElemType有啥用?

#define ElemType int ∥假设元素类型为整型 //这有啥用...
typedef struct
{ElemType V[m]; ∥栈空间
int top[2]; ∥top为两个栈顶指针
}stk;
stk S; ∥S是如上定义的结构类型变量,为全局变量
(1) 栈初始化
int Init()
{S.top[0]=-1;
S.top[1]=m;
return 1; //初始化成功
}
(2) 入栈操作:
int push(stk S ,int i,int x)
∥i为栈号,i=0表示左栈,i=1为右栈,x是入栈元素。入栈成功返回1,否则返回0
{if(i<0||i>1){printf(“栈号输入不对\n”);exit(0);}
if(S.top[1]-S.top[0]==1) {printf(“栈已满\n”);return(0);}
switch(i)
{case 0: S.V[++S.top[0]]=x; return(1); break;
case 1: S.V[--S.top[1]]=x; return(1);
}
}∥push
(3) 退栈操作
ElemType pop(stk S,int i) //////这里又是为啥用ElemType,不用int?
∥退栈。i代表栈号,i=0时为左栈,i=1时为右栈。退栈成功返回退栈元素
∥否则返回-1
{if(i<0 || i>1){printf(“栈号输入错误\n”);exit(0);}
switch(i)
{case 0: if(S.top[0]==-1) {printf(“栈空\n”);return(-1);}
else return(S.V[S.top[0]--]);
case 1: if(S.top[1]==m {printf(“栈空\n”); return(-1);}
else return(S.V[S.top[1]++]);
}∥switch }∥算法结束
(4) 判断栈空
int Empty();
{return (S.top[0]==-1 && S.top[1]==m);
}
对了,,我同学说,任何时候(就是在任何程序里)ElemType=int这对么

ElemType 是一种数据类型,可以是整型也可以是字符型这种简单的基本的数据类型,也可以是复杂的数据类型如自己定义的结构体
温馨提示:答案为网友推荐,仅供参考
相似回答