zoukankan      html  css  js  c++  java
  • 数据结构之栈的进制转换(10进制-- > 8进制 )

    #include<iostream>
    #include<stdlib.h>
    #include<malloc.h>
    #include<stdio.h>
    #define max 100
    using namespace std;
    typedef struct
    {
    int stack[max];
    int top;
    }seqstack;
    void init(seqstack *l)
    {
    l->top=-1;
    }
    int empty(seqstack s)
    {
    if(s.top==-1)
    {
    printf("栈空");
    return 1;
    }

    else
    {
    printf("栈没空");
    return 0;
    }
    }
    int top(seqstack l,int *s)
    {
    if(l.top<0)
    {
    printf("栈已空! ");
    return 0;
    }
    {
    *s=l.stack[l.top];
    return 1;
    }
    }

    int push(seqstack *s,int x)
    {
    if(s->top>=max)
    {
    printf("栈已满,不能进栈! ");
    return 0;
    }
    else
    {
    s->top++;
    s->stack[s->top]=x;
    return 1;
    }
    }

    int pop(seqstack *s,int e)
    {
    if(s->top==-1)
    {
    printf("栈已空");
    return 0;
    }
    else
    {
    e=s->stack[s->top];
    printf("%d",e);
    s->top--;
    return 1;
    }
    }
    void dis(seqstack l)
    {
    while(l.top>-1)
    {
    printf("%d ",l.stack[l.top]);
    l.top--;
    }
    printf(" ");
    }


    int main()
    {
    seqstack l;
    int e;int n;int x;
    printf("请输入一个数:");
    scanf("%d",&n);
    //seqstack *s
    //s=(seqstack*)malloc(sizeof(seqstack))
    //必须要动态分配否则指针用完被释放
    //
    //使用指针只是复制一份形参 在被调函数运行完就会失效
    //但是取址是址传递 改变了值
    init(&l);
    while(n>0)
    {
    e=n%8;
    push(&l,e);
    n=n/8;
    }
    while(l.top>=0)
    {
    pop(&l,x);

    }
    return 0;
    }

    //测试数据3467

  • 相关阅读:
    重建Exchange邮件系统的系统邮箱
    枚举算法001
    关于网站备案的44个问题
    wireshack使用
    格言
    程序员遇到BUG的解释
    只要有信心任何事情都可以做成,今天表现不错哦,加油!
    踏实,自信
    学会经营自己的关系
    戒酒
  • 原文地址:https://www.cnblogs.com/mykonons/p/6298402.html
Copyright © 2011-2022 走看看