【数据结构-进制转换】用栈实现10进制数转任意进制数

这篇具有很好参考价值的文章主要介绍了【数据结构-进制转换】用栈实现10进制数转任意进制数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

栈的应用

用栈实现10进制数转任意进制数代码实现
主要思想:一个十进制数转成相应进制,是通过自身除于对应进制得余数,直到商为0.将所有余数逆序(即最先得到的余数放最后面)排列,得到的结果为所得相应进制数。这一特性与栈极其类似,栈也是先进后出原则,故用栈更为合适。
用到的方法:辗转相除,取余数入栈,最后再出栈。
是通过自身除于对应进制得余数,直到商为0.将所有余数逆序“这句话可能对初学者不大友好,下面写个样例供大家参考:【数据结构-进制转换】用栈实现10进制数转任意进制数
【数据结构-进制转换】用栈实现10进制数转任意进制数

几点注意:#define STACK_INIT_SIZE 100 //定义符号常量 STACK_INIT_SIZE的值为100
malloc函数使用,动态分配存储空间
realloc函数使用,重新分配存储空间
注意转进制时,可能转为16或者其他大于10的进制,则输出对应进制数会含有A(10) B(11) C(12) D(13) E(14) F(15)
故需考虑:实现大于9的数字转成对应大写字母这类情况 例如:10(10+55=65,65即为A的ASCII码值)文章来源地址https://www.toymoban.com/news/detail-400366.html

#include<stdio.h>
#include<stdlib.h>
#define STACK_INIT_SIZE 100   //定义符号常量 STACK_INIT_SIZE的值为100 
#define STACKINCREMENT 10   //定义符号常量 STACKINCREMENT的值为10 
typedef int SElemType;    //给int类型取别称为SElemType 
typedef struct{
   
	SElemType *base;  //指向栈底的指针 
	SElemType *top;  //指向栈顶的指针 
	int stacksize;   /

到了这里,关于【数据结构-进制转换】用栈实现10进制数转任意进制数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构-用栈实现队列

    前言: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否

    2023年04月08日
    浏览(88)
  • 【数据结构】用栈实现队列

    前言:本节博客分享了用栈实现队列效果的思路以及代码,有需要借鉴即可。 LINK 如果要用栈实现队列,我们直到栈是先入后出的一个效果,所以我们可以用两个栈,这样逆转两次数不就是入栈之前数组的顺序嘛。下面是一些图辅助理解: 完。

    2024年03月10日
    浏览(55)
  • 【数据结构】用栈实现括号匹配

    1.创立一个判断括号是否匹配的函数BracketsCheck 2.传参(栈,输入的字符串) 3.对字符串中的(、[、{、这三种括号进行匹配 4.顺序从左往右进行,依次将符合条件的括号放入栈中,满足FILO原则 5.但拿到右括号时进行匹配,如果匹配成功,那么就出栈,如果失败就返回false 定义

    2024年02月06日
    浏览(41)
  • 【LeetCode】数据结构题解(12)[用栈实现队列]

    所属专栏:玩转数据结构题型❤️ 🚀 博主首页:初阳785❤️ 🚀 代码托管:chuyang785❤️ 🚀 感谢大家的支持,您的点赞和关注是对我最大的支持!!!❤️ 🚀 博主也会更加的努力,创作出更优质的博文!!❤️ 🚀 关注我,关注我,关注我,重要的事情说三遍!!!!!

    2024年02月13日
    浏览(40)
  • 数据结构-栈的运用-数的进制转换

    对于进制转换,其实是具有以下最初的思想 1-输入某一个十进制的数值 2-选择你所要进行的进制转换类型 3-将这个数的来进求余进制数并保留在数组中 4-将十进制的数字除以进制数 5-这是一个循环,直至该数小于零则结束 6-然后再让数组进行反向输出就能得到你所要转换的二

    2024年02月06日
    浏览(37)
  • 【算法与数据结构】232、LeetCode用栈实现队列

    所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。    思路分析 :这道题要求我们用栈模拟队列(工作上一定没人这么搞)。程序当中,push函数很好解决,直接将元素push进输入栈当中。pop函数需要实现队列先进先出的操作,而栈是先进后出。只

    2024年02月12日
    浏览(43)
  • C语言数据结构篇——用栈实现四则运算

    作者名:Demo不是emo  主页面链接: 主页传送门 创作初心: 舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷 座右铭: 不要让时代的悲哀成为你的悲哀 专研方向: 网络安全,数据结构 每日emo: 我爱

    2024年02月09日
    浏览(54)
  • 【数据结构与算法】7、队列(Queue)的实现【用栈实现队列】

    ☘️ 队列 (Queue)是一种特殊的 线性表 , 只能在头尾两端进行操作 🎁 队尾(rear):只能从 队尾添加 元素,一般叫做 enQueue , 入队 🎁 队头(front):只能从 队头移除 元素,一般叫做 deQueue , 出队 🎁 先进先出 的原则, F irst I n F irst O ut, FIFO ☘️ 队列内部的实现可

    2024年02月12日
    浏览(42)
  • 【数据结构与算法】用队列实现栈&&用栈实现队列&&设计循环队列

    🌠 作者:@ 阿亮joy. 🎆 专栏:《数据结构与算法要啸着学》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、

    2024年01月20日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包