数制转换·数据结构

简介: 数制转换·数据结构

头文件:

#pragma once
#include<iostream>
#define MAXSIZE 100
using namespace std;
class Stack {
private:
  int* data;//数组的起始地址
  int top;//top指针
public:
  //初始化函数
  void Init() {
    data = new int[MAXSIZE];
    top = -1;
  }
  //输出
  void Output() {
    cout << "栈长:" << top + 1 << endl;
    if (top > -1) {
      cout << "栈的内容:" << endl;
      for (int i = 0; i <= top; i++) {
        cout << data[i] << ",";
      }
    }
    cout << endl;
  }
  //压栈
  void Push(int value) {
    top++;
    data[top] = value;
    //等于data[top++]=value;
  }
  //出栈
  void Pop(int& value) {
    value = data[top--];
    //等于value=data[top];top--;
  }
  //销毁
  void Destory() {
    delete[]data;
  }
  //返回栈长
  int Getlen() {
    return top + 1;
  }
  //判空
  bool isEmpty() {
    return top == -1 ? true : false;
  }
  //取栈顶元素
  int Gettop() {
    return data[top];
  }
};

main函数:

#include<iostream>
#include"Stack.h"
using namespace std;
void fun(int n, int k) {
  Stack s;
  s.Init();
  while (n) {
    int t = n % k;
    s.Push(t);
    n /= k;
  }
  int temp = s.Getlen();
  while (temp--) {
    int t;
    s.Pop(t);
    switch (t)
    {
      case 10:
        cout << "A";
        break;
      case 11:
        cout << "B";
        break;
      case 12:
        cout << "C";
        break;
      case 13:
        cout << "D";
        break;
      case 14:
        cout << "E";
        break;
      case 15:
        cout << "F";
        break;
      default:
        cout << t;
        break;
    }
  }
  s.Destory();
}
int main()
{
  int n, k;
  cout << "请输入一个正整数n:";
  cin >> n;
  cout << "请输入一个大于1小于等于16的正整数k:";
  cin >> k;
  fun(n, k);
}


目录
打赏
0
0
0
0
0
分享
相关文章
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Redis 介绍
本文介绍在 Spring Boot 中集成 Redis 的方法。Redis 是一种支持多种数据结构的非关系型数据库(NoSQL),具备高并发、高性能和灵活扩展的特点,适用于缓存、实时数据分析等场景。其数据以键值对形式存储,支持字符串、哈希、列表、集合等类型。通过将 Redis 与 Mysql 集群结合使用,可实现数据同步,提升系统稳定性。例如,在网站架构中优先从 Redis 获取数据,故障时回退至 Mysql,确保服务不中断。
155 0
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Redis 介绍
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
152 2
微信小程序绘制canvas时在不同 设备上的大小不同的问题
微信小程序绘制canvas时在不同 设备上的大小不同的问题
420 0
【机器学习】支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择(面试回答)?
文章对支持向量机(SVM)、逻辑回归(LR)和决策树(DT)进行了直观和理论上的对比,并提供了在选择这些算法时的考虑因素,包括模型复杂度、损失函数、数据量需求、对缺失值的敏感度等。
227 1
Istio的部署模型介绍
Istio的部署模型介绍
172 1
单一作者论文,谷歌提出百万专家Mixture,超越密集前馈、稀疏MoE
【7月更文挑战第27天】谷歌提出了一种名为“百万专家Mixture”的神经网络架构,旨在解决Transformer模型处理大规模数据时面临的计算和内存效率问题。该架构通过利用“产品键”技术实现从大规模专家池中的高效检索,相较于传统密集前馈网络和稀疏MoE模型,在性能-计算权衡方面展现出明显优势。尽管如此,模型训练的复杂性和大规模模型的有效管理仍然是挑战。[链接](https://arxiv.org/abs/2407.04153)
180 2
程序与技术分享:bidi(双向文字)与RTL布局总结
程序与技术分享:bidi(双向文字)与RTL布局总结
250 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问