数制转换·数据结构

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

头文件:

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


相关文章
|
6月前
|
C语言
【C语言数据结构(基础版)】第四站:栈和队列
【C语言数据结构(基础版)】第四站:栈和队列
55 0
|
6月前
|
存储 算法 C语言
【C语言数据结构(基础版)】第五站:树和二叉树(上)
【C语言数据结构(基础版)】第五站:树和二叉树
61 0
|
10月前
|
存储 C语言
c语言数据结构-数的表示法
c语言数据结构-数的表示法
c语言数据结构-数的表示法
|
6月前
|
存储 安全 测试技术
【C语言数据结构(基础篇)】第三站:链表(一)
【C语言数据结构(基础篇)】第三站:链表(一)
41 0
|
6月前
|
存储 C语言
【C语言数据结构(基础版)】第三站:链表(二)
【C语言数据结构(基础版)】第三站:链表(二)
100 0
|
6月前
|
存储 算法 搜索推荐
[C语言数据结构]万字长文带你学习八大排序
[C语言数据结构]万字长文带你学习八大排序
|
6月前
|
C语言
【C语言数据结构(基础版)】第五站:树和二叉树(中)
【C语言数据结构(基础版)】第五站:树和二叉树
27 0
|
6月前
|
C语言
【C语言数据结构(基础版)】第五站:树和二叉树(下)
【C语言数据结构(基础版)】第五站:树和二叉树
35 0
|
7月前
|
算法 C语言
【C语言数据结构】模拟·顺序表·总项目实现
我在上一篇博客中,详细讲解啦每一个函数的实现思路和代码展现,在这一篇博客中,我将像是做项目一样,去实现顺序表的总体实现。
|
10月前
|
存储 人工智能
【开卷数据结构 】稀疏矩阵
【开卷数据结构 】稀疏矩阵
69 0