c++用栈实现进制转换,python用栈实现十进制转二进制

  c++用栈实现进制转换,python用栈实现十进制转二进制

  本文主要详细介绍Python和C语言如何利用堆栈数据结构分别将十进制数转换成二进制数。本文中的示例代码解释的很详细,有需要的可以参考一下。

  00-1010问题描述C语言实现Python实现

  

目录

 

  利用栈的数据结构实现十进制数到二进制数的转换。

  

问题描述

 

  顺序存储结构实现表堆栈

  代码:

  #包含stdlib.h

  #包含stdio.h

  #define STACK_INIT_SIZE 100 //堆栈的初始开放空间大小

  #define STACK_INCREMENT 10 //堆栈附加空间大小

  //堆栈的结构

  typedef结构堆栈{

  int * base

  int * top

  int大小;

  } binStack

  //堆栈初始化

  binStack stack_init()

  {

  binStack bs

  bs . base=(int *)malloc(sizeof(int)* STACK _ INIT _ SIZE);

  bs . top=bs . base;

  bs.size=STACK _ INIT _ SIZE

  返回bs;

  }

  //堆栈

  void push(binStack *bs,int e)

  {

  if(bs-top - bs-base=bs-size)

  {

  bs-size=STACK _ INCREMENT;

  bs-base=realloc(bs-base,bs-size);

  }

  *(bs-top)=e;

  }

  //退出堆栈

  int pop(binStack *bs)

  {

  如果(bs-top!=基站)

  {

  bs-top-;

  return * bs-top;

  }

  return-1;

  }

  //主函数

  void main()

  {

  int dec

  bin stack bs=stack _ init();

  Printf(请输入一个十进制整数: n );

  scanf(%d ,dec);

  当(十二月)

  {

  推送(bs,12月%2日);

  dec/=2;

  }

  Printf(转换后的二进制数为: n );

  而(bs.top!=bs.base)

  {

  printf(%d ,pop(bs));

  }

  printf( n n );

  系统(日期/时间);

  系统(时间/T );

  系统(“暂停”);

  退出(0);

  }

  运行结果:

  

C语言实现

 

  对于stack,我们可以使用python内置的list实现(或者链表实现),因为list是一个线性数组,末尾插入和删除一个元素的时间是O(1),非常符合stack的要求。

  代码:

  datetime//显示由时间引入的库

  导入时间//

  来自皮普。_ vendor.distlib.com pat import raw _ input//使命令窗口不立即关闭导入的库。

  //堆栈类

  BinStack:级

  def __init__(self):

  self.bs=[]

  //堆栈

  定义推送(self,e):

  自我bs .追加(e)

  //退出堆栈

  def pop(自身):

  if self.bs:

  返回self.bs.pop()

  else:

  引发LookupError(stack是空的!)

  //检查堆栈是否为空,返回False而不是True。

  def isEmpty(self):

  返回布尔值(self.bs)

  if __name__==__main__:

  binStack=BinStack()

  Dec=int(输入(请输入一个十进制整数:n ))

  打印(转换后的二进制数为:)

  而dec!=0:

  binStack.push(十二月%2日)

  dec //=2

  while bin stack . isempty()==true :

  打印( {} )。format(binStack.pop()),end=“”)

  else:

  打印( n )

  //打印时间

  datetime=datetime.datetime.now()

  print(datetime . strftime( % Y-% m-% d n % h :% m :% S ))

  //使命令窗口不立即关闭

  输入(按回车键退出…)

  运行结果:

  那就是Python和C语言分别使用堆栈实现二进制转换的细节。更多关于Python二进制转换的信息,请关注热门IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vs2015打包安装程序,vs2015程序打包,VS2022实现VC++打包生成安装文件图文详细历程
  • vc++6.0的快捷键,vc 快捷键
  • vc++6.0的快捷键,vc 快捷键,VC6.0常用快捷键大全
  • 绘制圆角矩形的方法,c++ 画矩形,C#画圆角矩形的方法
  • 懒汉式和饿汉式代码,单列模式懒汉和饿汉,C++单例模式的懒汉模式和饿汉模式详解
  • 好用的C++编译器,c++编译软件哪个好
  • semaphore c#,c++ semaphore
  • semaphore c#,c++ semaphore,C++中Semaphore内核对象用法实例
  • dev-c++使用教程,dev c++安装教程
  • dev-c++使用教程,dev c++安装教程,Dev C++ 安装及使用方法(图文教程)
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针,简单总结C++中指针常量与常量指针的区别
  • com组件初始化失败,c#开发com组件,C++中COM组件初始化方法实例分析
  • c++静态成员变量使用,c++静态成员函数和静态成员变量
  • c++静态成员变量使用,c++静态成员函数和静态成员变量,详解c++ 静态成员变量
  • 留言与评论(共有 条评论)
       
    验证码: