确定申请时内存大小:
int size = ceil(log(num) / log(Two));//进制转换余数有多少位相当于求Log,然后向上取整一位
cout << "内存大小为:"<<size << endl;
Stack<int> *p = new Stack<int>(size);//申请相应大小的内存,避免浪费和不足
int size = ceil(log(num) / log(Two));//进制转换余数有多少位相当于求Log,然后向上取整一位
cout << "内存大小为:"<<size << endl;
Stack<int> *p = new Stack<int>(size);//申请相应大小的内存,避免浪费和不足
2019-09-28
老师说的很好通俗易懂,感谢老师。这是我整理的代码 https://xiongyiming.blog.csdn.net/article/details/100828853
2019-09-16
在把类模板中的T * m_pBuffer 从PRIVATE移动至PUBLIC之后,可以用
for(int i=p->StackLen()-1;i>=0;i--)
{
cout<<num[p->m_pBuffer[i]];
}
输出16进制转换。 不过更改了类模板
for(int i=p->StackLen()-1;i>=0;i--)
{
cout<<num[p->m_pBuffer[i]];
}
输出16进制转换。 不过更改了类模板
2019-07-26
我有更简单的方法,模板直接用char,压栈的时候
while (N != 0)
{
int x = N % i;
if (x >= 10)
{ pStack->push('A' + x - 10); }
else
{ pStack->push('0' + x); }
N = N / i;
}
灵感源自之前学过汇编,经常用这一招,想想汇编可以用的话C++应该问题不大,这样比较简洁。
while (N != 0)
{
int x = N % i;
if (x >= 10)
{ pStack->push('A' + x - 10); }
else
{ pStack->push('0' + x); }
N = N / i;
}
灵感源自之前学过汇编,经常用这一招,想想汇编可以用的话C++应该问题不大,这样比较简洁。
2019-03-17