栈就是一种后进先出的数据结构,就是最先进入的数据在栈的最底下,最后才出来,最后进入的数据,在栈的顶端,最先出来。
下面利用栈实现了一个简单十进制到二进制的转换。
比如十进制的 10 转换为 二进制。必须明白数制之间是如何转换的。对于十进制到二进制的转换,是整除取余数,反复直到被转换数为0.
d | r= d%2 | d=d/2 |
---|---|---|
10 | 0 | 5 |
5 | 1 | 2 |
2 | 0 | 1 |
1 | 1 | 0 |
算的时候余数的顺序为 0 1 0 1但是二进制结果却是 1010,所以他们的顺序恰好是相反的,所以利用栈很好实现。下面是在Qt中控制台下实现的。
#include <QCoreApplication>
#include<QDebug>
#include<QStack>
void T2T(