数制转换·数据结构

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

头文件:

#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);
}


相关文章
|
11月前
|
C语言
【C语言数据结构(基础版)】第四站:栈和队列
【C语言数据结构(基础版)】第四站:栈和队列
72 0
|
13天前
|
算法
04(数据结构考研)串相关操作代码
04(数据结构考研)串相关操作代码
13 0
|
5月前
|
存储 人工智能 算法
数据结构期末复习(1)数据结构和算法 线性表
数据结构期末复习(1)数据结构和算法 线性表
33 0
|
11月前
|
存储 C语言
【C语言数据结构(基础版)】第三站:链表(二)
【C语言数据结构(基础版)】第三站:链表(二)
116 0
|
11月前
|
存储 安全 测试技术
【C语言数据结构(基础篇)】第三站:链表(一)
【C语言数据结构(基础篇)】第三站:链表(一)
55 0
|
11月前
|
存储 算法 搜索推荐
[C语言数据结构]万字长文带你学习八大排序
[C语言数据结构]万字长文带你学习八大排序
|
算法 C语言
【C语言数据结构】模拟·顺序表·总项目实现
我在上一篇博客中,详细讲解啦每一个函数的实现思路和代码展现,在这一篇博客中,我将像是做项目一样,去实现顺序表的总体实现。
【开卷数据结构 】哈夫曼编码
【开卷数据结构 】哈夫曼编码
158 1
|
存储 移动开发 算法
AcWing数据结构 - 数据结构在算法比赛中的应用(上)
AcWing数据结构 - 数据结构在算法比赛中的应用(上)
|
存储 算法 索引
AcWing数据结构 - 数据结构在算法比赛中的应用(下)
AcWing数据结构 - 数据结构在算法比赛中的应用(下)