关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
来源:互联网 发布:福利彩票 知乎 编辑:程序博客网 时间:2024/04/30 17:44
在我的书中有一个栈的设计,有人对此提出质疑,认为栈的弹出函数应该设计两个返回值,一个表示弹出的数据,
另一个表示栈是否为空。他的理由是当栈中如果压入一个空指针时,返回值是NULL时并不表示栈为空。
老实说我对栈的弹出函数设计两个返回值是不赞同的,这样会严重影响效率。欢迎大家讨论。
我的书中栈的弹出函数如下:
/** 栈的弹出函数,弹出栈顶数据,
弹出的数据需要调用者自行释放掉。
@param STACK * pStack - 栈指针
@return void * - 成功返回栈顶数据,栈为空则返回NULL
*/
void * Stack_Pop( STACK * pStack )
{
void *pData;
if ( pStack == NULL || pStack->uTop == 0 )
{
return NULL;
}
pStack->uTop -= 1;
pData = pStack->ppBase[pStack->uTop];
return pData;
}
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序
- 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。
- 双核CPU上的快速排序效率
- 《多任务下的数据结构与算法》一书中的红黑树的测试代码,供读者参考!
- 《多任务下的数据结构与算法》一书的勘误
- 关于goto语句能不能从复杂的嵌套循环判断中跳出去的问题讨论
- 谈谈在WebServer中如何实现CGI技术
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 大家对《多任务下的数据结构与算法》如有建议,请发表到这里
- 《多任务下的数据结构与算法》主要新特色及新内容介绍
- 《多任务下的数据结构与算法》一书的目录
- ASP.NET 2.0当中的Call back技术与ASP.NET AJAX
- 关于笔记本电脑执行速度的瓶颈
- 台湾微软网站上的Silverlight教学影片
- 2007软件开发2.0大会课程之一:ASP.NET AJAX 与 Silverlight 的完美结合
- ASP.NET 2.0当中的Call Back机制