c语言编程 数据结构题

用两个链式栈实现入栈出栈操作,如一个链式栈入栈是12345然后出栈,同时把出栈的元素进入另一个栈中,最后把另一个栈中的元素全部输出12345... 用两个链式栈实现入栈出栈操作,如一个链式栈入栈是12345然后出栈,同时把出栈的元素进入另一个栈中,最后把另一个栈中的元素全部输出12345 展开
 我来答
cylz0703
2019-04-07 · TA获得超过3.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:83%
帮助的人:4392万
展开全部

C语言实现链式栈,进行两个栈的进出栈操作,并分别输出栈的内容,参考代码如下: 

#include<stdio.h>
#include<stdlib.h>
typedef struct Lnode {
    int data;
    struct Lnode *next;
} Lnode, *Linklist;
void Print(Linklist list);
void Push(Linklist list,int data);
int Pop(Linklist list,int *data);
void Delete(Linklist list);
int main(void)
{
    Linklist s,t;
    int data;
    s=(Lnode *)malloc(sizeof(Lnode));
    t=(Lnode *)malloc(sizeof(Lnode));
    if(s==NULL||t==NULL)
        return 1;
    s->next=NULL;
    t->next=NULL;
    Push(s,1);
    Push(s,2);
    Push(s,3);
    Push(s,4);
    Push(s,5);
    printf("链表s=");
    Print(s);
    printf("链表t=");
    Print(t);
    Pop(s,&data);
    Push(t,data);
    Pop(s,&data);
    Push(t,data);
    Pop(s,&data);
    Push(t,data);
    Pop(s,&data);
    Push(t,data);
    Pop(s,&data);
    Push(t,data);
    printf("链表s=");
    Print(s);
    printf("链表t=");
    Print(t);
    Delete(s);
    Delete(t);
    return 0;
}
void Push(Linklist list,int data)
{
    Lnode *p=(Lnode *)malloc(sizeof(Lnode));
    if(p==NULL)exit(1);
    p->data=data;
    p->next=list->next;
    list->next=p;
}
int Pop(Linklist list,int *data)
{
    Lnode *p=list->next;
    if(p==NULL) return 0;
    list->next=p->next;
    *data=p->data;
    free(p);
    return 1;
}
void Print(Linklist list)
{
    Lnode *p;
    for(p=list->next; p!=NULL; p=p->next)
        printf("%d",p->data);
    printf("\n");
}
void Delete(Linklist list)
{
    Lnode *p=list->next,*q;
    while(p!=NULL) {
        q=p;
        p=p->next;
        free(q);
    }
    list->next=NULL;
}

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式