|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 数据结构与算法 』
→ 请问如何用C++语言来实现栈的操作?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
401
人关注过本帖
标题:
请问如何用C++语言来实现栈的操作?
只看楼主
加入收藏
shujujiegou1
等 级:
新手上路
帖 子:2
专家分:0
注 册:2012-10-10
结帖率:
0
楼主
收藏
已结贴
√
问题点数:20 回复次数:5
请问如何用C++语言来实现栈的操作?
新手,刚接触数据结构,觉得太难了,什么也不懂,求各位大哥大姐能否介绍几本适合初学者用的书,在此感激不尽!
搜索更多相关主题的帖子:
如何
大哥
2012-10-10 21:08
举报帖子
使用道具
赠送鲜花
chao19910210
等 级:
新手上路
帖 子:12
专家分:4
注 册:2011-11-18
第
2
楼
收藏
得分:4
我也刚学数据结构,刚开始觉得很抽象,然后再图书馆找了一本《数据结构》(c/c++描述)是朱承学和李锡辉的,现在虽然看的时间不长,但是收获蛮大的。其实你完全可以自己去找一些带有例子的书去看,自己动手写写,相信你会有收获的。
2012-10-11 14:05
举报帖子
使用道具
赠送鲜花
寒风中的细雨
等 级:
贵宾
威 望:
66
帖 子:1710
专家分:8645
注 册:2009-9-15
第
3
楼
收藏
得分:4
回复 2楼 chao19910210
支持。。。
2012-10-11 18:57
举报帖子
使用道具
赠送鲜花
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
4
楼
收藏
得分:4
嗯。很多书里都有例子,多看看,想懂了再试着自己实现。
2012-10-12 13:30
举报帖子
使用道具
赠送鲜花
月下美人_95
等 级:
新手上路
帖 子:2
专家分:8
注 册:2012-10-13
第
5
楼
收藏
得分:4
/**************************
以下前几天封装的栈模版
你可以参考一下
**************************/
#ifndef _STACK_H_
#define _STACK_H_
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
template <class T>
class CStack
{
public:
CStack();
explicit CStack(int iNum);
CStack(CStack &);
~CStack();
void push(T data);
T peek();
T pop();
void appendCapacity();//用来追加栈的容量
int getNumberOfelement()//返回栈中元素的个数
{
return numberOfelement;
}
private:
T *ptrOfele;//指向动态创建的数组,用模板参数T取代具体类型
int capacity;//栈的容量
int numberOfelement;//栈中元素个数
};
template <class T>
CStack<T>::CStack()
{
capacity = 10;
numberOfelement = 0;
ptrOfele = new T[capacity];
}
template <class T>
CStack<T>::CStack(int iNum)
{
capacity = iNum;
numberOfelement = 0;
ptrOfele = new T[capacity];
}
template <class T>
CStack<T>::~CStack()
{
delete []ptrOfele;
}
template <class T>
void CStack<T>::push(T data)
{
if (numberOfelement < capacity)
{
ptrOfele[numberOfelement++] = data;
}
else
this->appendCapacity();
}
template <class T>
T CStack<T>::peek()
{
if (numberOfelement > 0)
return ptrOfele[numberOfelement];
}
template <class T>
T CStack<T>::pop()
{
if (numberOfelement > 0)
return ptrOfele[--numberOfelement];
}
template <class T>
void CStack<T>::appendCapacity()
{
capacity += 10;
T *ptrTmp = new T[capacity];
for (int i = 0; i<capacity-10; i++)
{
ptrTmp[i] = ptrOfele[i];
}
delete [] ptrOfele;
ptrOfele = ptrTmp;
}
#endif
2012-10-16 22:00
举报帖子
使用道具
赠送鲜花
zhu224039
等 级:
贵宾
威 望:
17
帖 子:862
专家分:792
注 册:2012-7-29
第
6
楼
收藏
得分:4
看伪代码才是王道
如果木有了例子
我看你怎么办
还是学着看伪代码的好
万能的 ,跟语言没关系
我要成为嘿嘿的黑客,替天行道
2012-10-17 00:08
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
请问如何用C++语言来实现栈的操作?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.025942 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved