顺序栈入栈出栈

#include "12.h"

int main(int argc, const char *argv[])
{      int i;
    Pstack L=creat_stack();
    int a[6]={10,20,30,40,50,60};
    for(i=0;i<6;i++)
    {
    Stack_insert(L,a[i]);
    }
    output(L);
    Stack_out(L);
    output(L);
    printf("栈的大小是%d\n",Stack_size(L));
    des(L);
    output(L);
    return 0;
}
#include"12.h"
Pstack creat_stack()
{
    Pstack L=malloc(sizeof(Stack));
    if(L==NULL)
    {
        printf("创建失败\n");
        return NULL;
    }
    L->top=-1;
    bzero(L->data,sizeof(L->data));
    return L;
}
void Stack_insert(Pstack L,int e)

{
    if(L==NULL||L->top==MAX-1)
    
    {
        printf("栈不存在或栈满\n");
        return;
    }
    L->top++;
    L->data[L->top]=e;
    printf("插入成功\n");
}
void Stack_out(Pstack L)
{
    if(L==NULL||L->top==-1)
    {
        printf("栈不存在或栈空\n");
        return ;
    }
    printf("出栈元素:%d\n",L->data[L->top]);
    L->top--;
}
void output(Pstack L)
{
    int i;
    for(i=0;i<=L->top;i++)
    {
        printf("%d\t",L->data[i]);
    }
    printf("\n");
}
int Stack_size(Pstack L)

{
    return L->top+1;
}
void des(Pstack L)
{  if(L==NULL)
    {
        printf("栈不存在\n");
    }
    free(L);
    L=NULL;
    printf("销毁成功\n");
    }


#ifndef _12_H_
#define _12_H_
#include<myhead.h>
#define MAX 6
typedef struct
{
    int data[MAX];
    int top;
}Stack,*Pstack;
Pstack creat_stack();
void Stack_insert(Pstack L,int e);
void Stack_out(Pstack L);
void output(Pstack L);
int Stack_size(Pstack L);
void des(Pstack L);

#endif
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值