第三栈——链栈。

链栈是运算受限的单链表,只能在链表头部进行操作。

typedef StackNode{
	SElemType data;
	struct StackNode *next;
}StackNode,*LinkList;
LinkList S; 

第三栈——链栈。_第1张图片
1:链栈的初始化:

void InitStack(LinkStack &S){
	//构造一个空栈,栈顶指针置为空。
	S=NULL;
	return OK 
}

2:判断链表是否为空

Status StackEmpty(LinkStack S){
	if(S==NULL) return TRUE;
	else return FALSE;
}

3:链栈的入栈。
第三栈——链栈。_第2张图片

Status Push(LinKStack &S,SElemType e){
	p=(SElemType*)mlloc(sizeof(LinkStack));//生成新的结点p; 
	p->data=e;//将新结点数据域置为e;
	p->next=S;//将新结点插入栈顶。
	S=p;//修改栈顶指针。
	return OK; 
}

5.10

你可能感兴趣的:(考研数据结构)