zoukankan      html  css  js  c++  java
  • 链栈的基本操作(进栈,出栈,以及进制转换)优化版

    #include<stdio.h>

    #include<malloc.h>

    #define ElemType int

    typedef struct LinkStack{//定义链栈结构 ,其实质是一个受限的单链表  

    ElemType data;  

    struct LinkStack *next;

    }LinkStack;

    LinkStack *Init(LinkStack *top)

    {//初始化一个带有头结点的链栈  top=(LinkStack *)malloc(sizeof(LinkStack));

     top->next=NULL;  return top;

    }

    LinkStack *Push(LinkStack *top,ElemType &e)

    {//入栈操作  LinkStack *p;  

    p=(LinkStack *)malloc(sizeof(LinkStack));

     if(p==NULL){   printf("栈满");  }

     else{   p->data=e;   p->next=top->next;   top->next=p;  }

     return top;

    }

    LinkStack *Pop(LinkStack *top)

    {//出栈操作  LinkStack *p;  

    ElemType e;

     p=top->next;

     if(p==NULL){   printf("栈空");  }  

    else{  

     e=p->data;   

    printf("%d",e);  

     top->next=p->next;   

    free(p);  

    }

     return top;

    }

    LinkStack *Get(LinkStack *top)

    {//获取栈顶元素,元素仍在栈内  

    ElemType e;

     LinkStack *p;  

    p=top->next;

     if(p==NULL){   printf("空栈");  

    }else{   printf(" 取栈顶元素:");  

     e=p->data;   

    printf("%d ",e);  }

    }

    void *Coversion(ElemType dec)

    {//十进制转换成八进制  ElemType e;  

    LinkStack *top,*p;  top=Init(top);

     for(;dec!=0;dec=dec/8)

    {   

    e=dec%8;   top=Push(top,e);

     }  

    for(p=top->next;p;p=top->next)

    {  

     top=Pop(top);  }

    }

    int main()

    {  

    LinkStack *top;

     ElemType dec;

     printf("输入十进制数: ");

     scanf("%d",&dec);  

    //top=Init(top);

     /*printf("请输入入栈元素:");  

    scanf("%d",&e);  

    while(e!=-1){   top=Push(top,e);   

    scanf("%d",&e);  }  

    Get(top);  

    top=Pop(top);

     top=Pop(top);  

    //Get_top(top);*/

     printf("对的八进制是:");

     Coversion(dec);  

    return 0; }

  • 相关阅读:
    OleDbCommand 的用法
    递归求阶乘
    C#重写窗体的方法
    HDU 5229 ZCC loves strings 博弈
    HDU 5228 ZCC loves straight flush 暴力
    POJ 1330 Nearest Common Ancestors LCA
    HDU 5234 Happy birthday 01背包
    HDU 5233 Gunner II 离散化
    fast-IO
    HDU 5265 pog loves szh II 二分
  • 原文地址:https://www.cnblogs.com/jiafeng1996/p/11306594.html
Copyright © 2011-2022 走看看