顺序栈-使用顺序栈实现十进制转换二进制

Posted sucker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序栈-使用顺序栈实现十进制转换二进制相关的知识,希望对你有一定的参考价值。

 1 #include"stdio.h"
 2 #define MaxSize 50
 3 typedef int DataType;
 4 typedef struct{
 5     DataType elem[MaxSize];
 6     int top;
 7 }SeqStack;
 8 void initStack(SeqStack &s)
 9 {
10     s.top = -1;
11 }
12 int push(SeqStack &s , DataType x)
13 {
14     if(s.top == MaxSize -1) return 0;
15     s.elem[++s.top] = x;
16     return 1;
17 }
18 int pop(SeqStack &s , DataType &x)
19 {
20     if(s.top == -1) return 0;
21     x = s.elem[s.top--];
22     return 1;
23 }
24 main()
25 {
26     int x;
27     int n;
28     int r;
29     SeqStack s;
30     initStack(s);
31     scanf("%d",&n);
32     r = n%2;
33     while(n!=0 &&push(s , r))
34     {
35         n = n/2;
36         r = n%2;
37     }
38     while(pop(s , x))
39     {
40         printf("%d",x);
41     }
42 }

 

以上是关于顺序栈-使用顺序栈实现十进制转换二进制的主要内容,如果未能解决你的问题,请参考以下文章

用顺序栈实现十进制向二进制转化

入栈c++十进制转化其他进制

进制转换问题

小猪的数据结构辅助教程——3.1 栈与队列中的顺序栈

考研数据结构与算法栈和队列

2023数据结构考研复习-栈队列和数组