#include<iostream>
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#define VARTYPE char //默认存放char类型
using namespace std;
struct myNode;
typedef struct myNode Node;
typedef Node* _Stack;
typedef Node* PtrToNode;
struct myNode
{
VARTYPE data;
PtrToNode next;
};
void _push(_Stack &T,VARTYPE x)
{
PtrToNode tmp = (PtrToNode)malloc(sizeof(Node));
if(tmp==NULL)
perror("malloc failed");
else
{
tmp->data = x;
tmp->next = T;
T = tmp;
}
}
void _pop(_Stack &T)
{
PtrToNode tmp;
tmp = T;
T = T->next;
free(tmp);
}
int _isempty(_Stack &T)
{
return T->next==NULL;
}
void _delstack(_Stack &T)
{
while(!_isempty(T))
{
_pop(T);
}
}
VARTYPE _top(_Stack &T)
{
return T->data;
}
_Stack create(_Stack &T)
{
T = (PtrToNode)malloc(sizeof(Node));
T->next = NULL;
return T;
}
int main()
{
_Stack T = create(T);
_push(T,'a');
_push(T,'b');
_push(T,'c');
_pop(T);
_pop(T);
_pop(T);
_delstack(T);
return 0;
}
栈的实现
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...