社区
C++ 语言
帖子详情
如何完成一个整形数据的堆栈类并测试
brucelee520
2005-12-27 07:40:39
要求:使用指针存储数据;提供压栈和出栈的公共接口;构造函数通过容量参数构造堆栈,栈容量参数缺省直为0;析构函数完成堆栈的释放,要求提供深拷贝复制构造函数;堆栈的容量可以自动调整;进行测试,
——————————————
我弄了好几天了,一直没弄成功,极度郁闷中,请各位大虾给个例子,让我这个好学的新手参考参考吧,谢谢
...全文
228
12
打赏
收藏
如何完成一个整形数据的堆栈类并测试
要求:使用指针存储数据;提供压栈和出栈的公共接口;构造函数通过容量参数构造堆栈,栈容量参数缺省直为0;析构函数完成堆栈的释放,要求提供深拷贝复制构造函数;堆栈的容量可以自动调整;进行测试, —————————————— 我弄了好几天了,一直没弄成功,极度郁闷中,请各位大虾给个例子,让我这个好学的新手参考参考吧,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bombwang
2006-01-15
打赏
举报
回复
mark
lxb365
2006-01-15
打赏
举报
回复
自己写数据类型是考试经常考的问题,非常检验你对数据结构的理解,我建议你自己写,很锻炼人的。关于堆栈类,其实是用一个动态数组作为基本存储对象,所以你的第一步是建立一个动态数组,第二步就是在这个数组的基础上定义堆栈的操作,因此写2个文件就可以了,一个array.h,一个stack.h,剩下的你自己考虑吧。
逸学堂
2006-01-15
打赏
举报
回复
楼主,开一贴问两题,一石而鸟!
直接看看CPoint怎么定义的很容易就解决了!
#include <math.h>
using namespace::std;
// 线类
class line
{
public:
line(int,int,int,int);
~line();
void Offset(int x,int y = 0);
float getline();
void Display();
private:
int X1;
int Y1;
int X2;
int Y2;
};
// 构造函数
line::line(int X1,int Y1,int X2,int Y2):X1(X1),Y1(Y1),X2(X2),Y2(Y2)
{
}
// 修改函数
line::~line()
{
}
// 平移 x平移, y平移
void line::Offset(int x,int y /* = 0 */)
{
X1 += x;
X2 += x;
Y1 += y;
Y2 += y;
}
// 获得线的长度
float line::getline()
{
int X(abs(X1 - X2));
int Y(abs(Y1 - Y2));
return (static_cast<float>(sqrt(pow(X,2)+pow(Y,2))));
}
// 输出信息
void line::Display()
{
cout << "(" << X1 << "," << Y1 << "," << X2 << "," << Y2 << ")" << endl;
}
brucelee520
2006-01-15
打赏
举报
回复
哪位大虾能帮忙用C++编个程序不?急用的啊,拜托哦!
题目:编写一个直线类,要求完成类的声名和定义,要求该类至少有以下成员函数;1。通过(X1,Y1,X2,Y2)构造直线类;2。析构函数3。直线的平移4。求直线的长度。5求点到直线的距离6。假设直线的两个坐标点为(10,20),(100,100),按照格式(10,20,100,100)输出直线的信息
注意:所有的成员函数要求在类声明之外(即类体之外)给出其实现部分
Rick_ang
2005-12-29
打赏
举报
回复
运行有什么错误帖上来,人家题目要求写栈怎么还能用stl呢
我啃
2005-12-29
打赏
举报
回复
建议使用std::stack
1)效率高
2)分配器好
3)标准化
4)一切都比自己写好
jiejienihao
2005-12-28
打赏
举报
回复
大家都是高手啊 ,希望大家多多指教我这位刚刚涉足编程一族!!~~~在次感谢大家了啊
brucelee520
2005-12-28
打赏
举报
回复
这个程序运行有错误啊,哪位大侠能帮该下吗?急用啊,多谢拉
brucelee520
2005-12-28
打赏
举报
回复
谢谢二位,呵呵
vollin
2005-12-27
打赏
举报
回复
#include <stack>
std::stack
直接用不就行了?
Rick_ang
2005-12-27
打赏
举报
回复
Push写错了~~改动一下:
int Push(int elem)
{
if(size==stacksize) //这里改成这个
{
base=(int*)realloc(base,(stacksize+20)*sizeof(int));
if(!base) exit(-1);
top=base+MAX_SIZE;
stacksize+=20;
}
*top++=elem;
size++;
return 1;
}
Rick_ang
2005-12-27
打赏
举报
回复
题目不太清楚,好象是要求用链表做,但是看后面又像是在构造函数里面new出一段空间..
我写一个吧,你拿来看看
#include <iostream>
#include <stdlib.h>
using namespace std;
const int MAX_SIZE=100;
class Stack
{
private:
int *base;
int *top;
int size;
int stacksize;//full size
public:
Stack(){
base=top=NULL;
size=0;
stacksize=MAX_SIZE;
}
Stack(int s=0){
base=new int [s];
if(!base) exit(-1);
top=base;
size=0;
stacksize=MAX_SIZE;
}
Stack(Stack& s)
{
if(s.stacksize>=size)
for(int j=0;j<size;j++)
*(s.base+j)=*(base+j);
else{
s.base=(int*)realloc(s.base,size*sizeof(int));
if(!s.base) exit(-1);
for(int i=0;i<size;i++)
*(s.base+i)=*(base+i);
}
}
int Pop()
{
if(size==0)
{
cout<<"Stack Empty,can not pop."<<endl;
}
else
{
int result;
result=*top;
top--;
size--;
return result;
}
}
int Push(int elem)
{
if(size==MAX_SIZE)
{
base=(int*)realloc(base,(stacksize+20)*sizeof(int));
if(!base) exit(-1);
top=base+MAX_SIZE;
stacksize+=20;
}
*top++=elem;
size++;
return 1;
}
bool Empty()
{
return size==0;
}
~Stack()
{
delete []base;
top=NULL;
}
};
C语言链表实现
堆栈
(0基础也能学会)
C语言链表实现
堆栈
(小白专场)
关于进程
堆栈
分布和工作原理
我们经常会讨论这样的问题:什么时候
数据
存储在
堆栈
(Stack)中,什么时候
数据
存储在堆(Heap)中。我们知道,局部变量是存储在
堆栈
中的;debug时,查看
堆栈
可以知道函数的调用顺序;函数调用时传递参数,事实上是把参数压入
堆栈
,听起来,
堆栈
象
一个
大杂烩。那么,
堆栈
(Stack) 到底是如何工作的呢? 本文将详解C/C++
堆栈
的工作机制。阅读时请注意以下几点: 1)本文讨论的编译环境是 Vis
java项目——
数据
结构实验报告
java项目——
数据
结构总结报告 20135315 宋宸宁 实验要求 1、用java语言实现
数据
结构中的线性表、哈希表、树、图、队列、
堆栈
、排序查找算法的
类
。 2、设计集合框架,使用泛型实现各
类
。 3、API的编写,并导出。 4、使用TDD模式,对程序进行
测试
,利用TestSuite将各
测试
类
整合到一起。 5、与小组成员实现代码的整合。 实验设计过程 首先自学集合框架章节的...
数据
结构与算法
一、
数据
结构 1.
数据
描述客观事物的数值、字符,能输入到计算机且被计算机处理的各种符号的集合
数据
就是信息在计算机中的表示 2.
数据
元素
数据
元素是
数据
的基本单位 在计算机程序中,通常把
数据
元素作为
一个
整体进行处理 如: 描述学生信息的一条
数据
记录就是
一个
数据
元素;描述
一个
点坐标的信息就是
一个
数据
元素
数据
元素通常由若干
数据
项组成 3.
数据
对象 一组相同性质的
数据
元素的集合 如: 学校中所有学生的集合就是
数据
对象;平面坐标系中所有点的集合就是
数据
对象 4.
数据
结构 相互之间存在一种或多种特定关
C/C++基本
数据
类
型(带
测试
程序)
熟知基本
数据
类
型是我们正确表达实际问题中各种
数据
的前提,因此我分
类
总结了一下C/C++/Windows/linux 基本
数据
类
型,以便日后查阅。 ANSI C/C++基本
数据
类
型: Type Size
数据
范围 无值型void 0byte 无值域 布尔型bool 1byte true false 有符号短整型short [int] /signed
C++ 语言
64,651
社区成员
250,488
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章