使用系统环境:
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;
}
文章来源:https://www.toymoban.com/news/detail-743991.html
到了这里,关于数据结构:使用顺序栈的基本操作,实现十进制转为二进制,十六进制的转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!