使用栈实现进制转换

使

作为栈的一个练习,使用栈来进行进制转换不得不说效率真的是非常低,超级低,最快的方法是直接用C语言的位运算

但是这里还是介绍一下操作思想

实际上进制转换这个东西本身不是很难,主要的工作部分都是在栈的建立和操作算法的编写上

至于什么是栈就不过多赘述了,这里主要是实现栈的三个主要功能,PUSH、POP和获取栈顶元素。

首先要为自己定义的栈开辟一块存储空间,常用情况是使用链表,但是这里我们使用的是一个完整的结构体来表示一个完整的栈

具体的声明方法如下:

没有采用链表式的栈主要还是我比较懒0.0

至于栈的PUSH和POP的操作都比较简单

但是这里面有一个需要注意的东西,为了防止之后的操作给自己带来问题和麻烦,因此这里我还是建议栈底元素留空,这样可以防止以后while结束条件出问题,通常情况下while的条件为栈顶指针和栈底指针重合,如果在栈底存元素的话直接会造成栈底元素无法取出

至于进制转换的方法就是对2取余数然后除以2再保存到变量里,再重复操作

最后注意不要忘记初始化内存区域(init)

About the author

NOBUG.IN

Add comment

By NOBUG.IN

Your sidebar area is currently empty. Hurry up and add some widgets.