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

  • 相关阅读:
    base -2 Number——进制转换
    AtCoder Crackers——水题
    血色先锋队——bfs
    Atcoder---ID排序模拟结构体
    101. 对称二叉树
    100. 相同的树
    95. 不同的二叉搜索树 II
    96. 不同的二叉搜索树
    JavaWeb学习总结(五十)——文件上传和下载(转载)
    145. 二叉树的后序遍历
  • 原文地址:https://www.cnblogs.com/mykonons/p/6298402.html
Copyright © 2011-2022 走看看