数据结构:使用顺序栈的基本操作,实现十进制转为二进制,十六进制的转换

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

使用系统环境:
1:win10,使用工具dev
2:使用系统win10
3:参考书籍数据结构(C语言版——严蔚敏 吴伟民)
( 注意:此文章默认,学习者拥有一定的数据机构栈,C语言的知识,书籍第20页,2.1算法的代码进行一个简化。)文章来源地址https://www.toymoban.com/news/detail-743991.html

//顺序栈的定义,基本操作
#include<stdio.h>
#define MaxSize 100
#define Error 0
#define ok    1

typedef struct sqSatck{
	int data[MaxSize];  //栈顶 
	int top;            //栈低 
}SqStack;

void initStack(SqStack &s){
	s.top=0;
}

int push(SqStack &s,int &e){
	if(MaxSize == s.top)return Error;
	s.data[s.top]=e;
	s.top++;
	return ok;
}

int pop(SqStack &s,int &e){
	if(s.top==0) return Error;
	s.top--;
	e=s.data[s.top];
	return  ok;
}

int isEmpty(SqStack s){
	if(s.top==0)return 1;
	else return 0;
}
//使用栈,实现十进制到二进制的转换 
int main(){
	int N;
	SqStack s;
	initStack(s);
	printf("inpurt N=");
	scanf("%d",&N);
	while(N){
		push(s,N%2);
		N/=2;
	}
	int e;
	while(!isEmpty(s)){
		pop(s,e);
		printf("%d",e);
	}
	return 1;
} 
//实现十进制到十六进制的转换
int main(){
	int N;
	SqStack s;
	initStack(s);
	printf("inpurt N=");
	scanf("%d",&N); 
		while(N){
		push(s,N%16);
		N/=16;
	}
	int e;
	while(!isEmpty(s)){
		pop(s,e);
		if(e>=10)e='A'+e-10;  //十六进制的基本元素是0~9,A~F,此处将余数10~15转换成字符A~F 
		else e='O'+e;           //这里是将数字0~9,转换为字符0~9; 
		printf("%d",e);
	}
	return 1;
} 

到了这里,关于数据结构:使用顺序栈的基本操作,实现十进制转为二进制,十六进制的转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【数据结构】链栈的基本操作(C语言)

    零零总总搜索了一些关于链栈的资料,了解了链栈的基本操作,一直觉得别人写的代码或多或少存在一些问题,所以打算自己写一篇关于链栈的文章,也算是对所学知识的梳理和巩固了。 首先说明本文使用C语言进行链栈的基本操作,链栈是无头结点的。这里补充说明一下,

    2024年02月05日
    浏览(36)
  • 【数据结构】 链栈的基本操作 (C语言版)

    目录 一、链栈 1、链栈的定义: 2、链栈的优缺点: 二、链栈的基本操作算法(C语言)     1、宏定义   2、创建结构体 3、链栈的初始化   4、链栈的进栈 5、链栈的出栈 6、获取栈顶元素 7、栈的遍历输出 8、链栈的判空  9、求链栈的栈长 10、链栈的清空 11、链栈的销毁

    2024年01月24日
    浏览(34)
  • 数据结构学习——C语言对栈的基本操作

             栈(Stack)是一种常用的数据结构,遵循先进后出(LIFO)的原则,对表尾进行操作,常用于临时存储和撤销等操作,其基本操作包括栈的创建、入栈(也叫压栈Push)、出栈(又称弹栈)、栈的遍历、栈的清空(clear)、栈的销毁(destroy)等。         栈的创建有两种方式,一种是通

    2024年02月07日
    浏览(38)
  • 【数据结构】栈和队列(栈的基本操作和基础知识)

    🌈个人主页: 秦jh__ https://blog.csdn.net/qinjh_?spm=1010.2135.3001.5343 🔥 系列专栏: 《数据结构》 https://blog.csdn.net/qinjh_/category_12536791.html?spm=1001.2014.3001.5482 目录  前言 栈 栈的概念和结构 栈的实现 ​编辑 数组栈的实现 总的声明 初始化  插入 删除 取栈顶元素 销毁 判断是否为空

    2024年02月03日
    浏览(38)
  • 【Java】实现顺序表基本的操作(数据结构)

    在了解顺序表之前我们要先了解什么是线性表,线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列… 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构

    2024年02月03日
    浏览(31)
  • 【数据结构】顺序表基本操作的实现(C语言)

    🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🐌 个人主页:蜗牛牛啊 🔥 系列专栏:🛹数据结构、🛴C++ 📕 学习格言:博观而约取,厚积而薄发 🌹 欢迎进来的小伙伴,如果小伙伴们在学习的过程中,发现有需要纠正的地方,烦请指正,希望能够与

    2024年02月16日
    浏览(38)
  • 数据结构教程实验一顺序表基本操作的实现

    1.掌握线性表的顺序存贮结构及基本操作,深入了解顺序表的基本特性,以便在实际问题背景下灵活运用它们。 2.深入理解和灵活掌握顺序表的插入、删除等操作。 1.硬件:每个学生需配备计算机一台。 2.软件:Windows操作系统+Visual C++。     1.将建表、遍历、插入、删除分别

    2024年02月07日
    浏览(32)
  • 基于C语言的数据结构之顺序表——带你熟练掌握顺序表基本操作!!超级详细!!

    目录 前言: 1.源代码如下 2.数据结构——顺序表    2.1.顺序表的特点    2.2顺序表的分类     2.2.1.动态分配内存的顺序表     2.2.2.静态分配内存的顺序表    2.3.定义一个顺序表 3.顺序表的基本操作    3.1初始化顺序表     不用将顺序表中可能存在的原有元素初始化吗?

    2024年04月26日
    浏览(26)
  • 数据结构 线性表的定义和基本操作(以顺序表为例)

    名人说:一花独放不是春,百花齐放花满园。——《增广贤文》 作者:Code_流苏(CSDN) (一个喜欢古诗词和编程的Coder😊) 以下代码个人分享出来,仅供学习交流,且仅在CSDN平台发布,未经授权禁止二次转发。 〇、线性表是什么? 1、定义 线性表 是具有 相同数据类型 的 n(

    2024年02月12日
    浏览(38)
  • 数据结构:定长顺序串(SString)基本操作的算法描述(C语言)

    作者在学习数据结构时,发现鲜有完全按照 C 语言描述的算法操作,这让习惯于写 .c 而不是 .cpp 的初学者很是头疼。本文将基于 C 语言描述算法操作,如有错漏还望大佬们指正。 本文将按照严惠敏所著《数据结构(C语言版)》所做的函数原型声明进行算法描述,由于C语言不支

    2024年02月07日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包