关于int型整数按逆序存入数组中的问题(也即十进制数和其他类型数据的转换问题)
来源:互联网 发布:中国气象数据共享网 编辑:程序博客网 时间:2024/06/14 20:04
今天在C++论坛里面看到有关于此问题的讨论,自己也写了一个函数,用于实现所述功能。
相当于将此整数从低到高按位输出。如果将CONVERTER改为其他值,可实现十进制和其他进制的转换。
关于这部分内容,在数据结构书中有讨论
代码如下:
#include <stdlib.h>
#include <malloc.h>
#include <iostream.h>
#define MAXSTEP 10 //栈满时的增长步长
#define CONVERTER 10 //如果改为其他值,可实现十进制和其他进制的转换
template <typename T>
class stack
{
public:
stack();
~stack(){ free(v); size = 0;}
void Push(T t);
void Pop(T& t);
int Size()
{
return size;
}
private:
T* v; //保存栈内的值
int size; //栈中存储值的个数
};
template <typename T>
stack<T>::stack()
{
v = new T[MAXSTEP];
if(NULL == v)
{
cout<<"No memory"<<endl;
return;
}
size = 0;
}
template<typename T>
void stack<T>::Push(T t)
{
if((size!=0) && ((size%MAXSTEP)==0))
{
//重新分配新的空间
v = (T*)realloc(v, sizeof(T)*(MAXSTEP));
}
v[size++] = t;
}
template <typename T>
void stack<T>::Pop(T& t)
{
if(size == 0)
{
return;
}
t = v[--size];
}
void main()
{
int a = 0; //保存输入的整数
int* c = NULL; //保存输出结果
int len = 0; //动态分配数组大小
stack<int> s;
cout<<"Please input a integer:"<<endl;
cin>>a;
while(a !=0)
{
s.Push(a%CONVERTER);
a = a/CONVERTER;
}
len = s.Size();
c = new int[len]; //[]表示分配一个数组,()表示一个int初值
if(NULL == c)
{
cout<<"No memory!"<<endl;
return;
}
cout<<"Result:"<<endl;
for(int i=0; i<len; i++)
{
s.Pop(c[i]);
cout<<"c["<<i<<"]:"<<c[i]<<endl;
}
delete [] c;
}
- 关于int型整数按逆序存入数组中的问题(也即十进制数和其他类型数据的转换问题)
- 类型转换问题(java会把byte,short和char的运算操作转换为int类型即低精度自动向高精度转换)
- 关于浮点数转换为整数的(int )和(int &)形式
- 关于浮点数转换为整数的(int )和(int &)形式
- 关于atoi字符串转换成int整数的一些问题
- java中的int类型和byte数组的相互转换
- 牛客网-句子逆序问题(即,将一个句子中的所有单词间的顺序逆序)
- 关于逆序数和置换奇偶性质的问题分析
- 笔记:关于protobuf协议传输repeated(即表/数组)类型数据出错问题。
- Java中char和int类型的转换问题
- java学习---char和int的类型转换问题
- string与int和char之间的类型转换问题
- 关于类型P和N的数据强制转换为C型问题
- 十进制数到其他进制数的转换
- JNI中的回调函数,C++中的vector数组和Java中int数组的转换
- 关于整数型数据的问题
- char*数组(c类型字符串)和Vc++中的CString的转换,char*数组等问题
- 汇编语言编写数组的问题和实现输入两个十进制数输出的问题
- jQuery中文入门指南,翻译加实例,jQuery的起点教程
- Ajax Modules 个人整理
- 开通自己的Blog了
- C51中变量的存储
- Ajax Modules 个人整理
- 关于int型整数按逆序存入数组中的问题(也即十进制数和其他类型数据的转换问题)
- Ajax Modules
- ASP.NET 动态页面静态化 比较
- web打印+套打问题
- td中内容自动换行
- 使用Capistrano部署apache+mongrel cluster
- 记录用反射方式操作属性或变量
- 不确定有穷自动机 NFA 与 隐马尔可夫模型 HMM 比较
- 美丽Oracle之-Oracle第一天 理论、常用权限命令