- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
为了让大家进一步悉上机环境
为了让大家进一步熟悉上机环境,我把顺序表的类定义及其实现的上机步骤总结如下:
在VC++6.0中建立工程,操作过程:
单击“文件”菜单的“新建”命令,出现如下的对话框:
②在“工程”标签中选择“Win32 Console Application”,在“工程”框中输入工程的名称,如ex1,在位置处选择合适的存储位置,然后单击“确定”按钮,出现如下对话框:
③可以选择“A simple application”,然后单击“完成”按钮。在后面的对话框中单击“确定”,建立了一个工程。
建立头文件
①单击“文件”的“新建”命令,出现如下对话框,
②选择“C/C++ Header File”,在“文件”框中输入头文件名“SeqList”,扩展名默认为“.h”,然后单击“确定”按钮。
③把SeqList类的定义写入SeqList.h文件中:
SeqList.h的内容为:
typedef int T;
class SeqList {
T *data; //顺序表存储数组
int MaxSize; //是问题要求的元素数目的最大值
int last; //当前最后元素下标
public:
SeqList ( int sz );
~SeqList ( ) { delete [ ] data; }
int Length ( ) const { return last+1; } //返回元素的个数
int Find (T x ) ; //返回元素x在表中的位置
void Insert (T x, int i ); //在位置i插入元素x
int Remove (T x ); //删除值为x的元素
int IsEmpty ( ) { return last ==-1; } //表空否
int IsFull ( ) { return last == MaxSize-1; }
T GetData ( int i ) { //取第i个表项的值
return data[i-1];}
void SetData ( int i, T x) { //为第i个表项赋值
if (i 0 i = last+1) data[i-1] = x ;}
void input();
void output();
}; //注意:这个分号必须有,否则,编译会出错。
3.建立. cpp文件:
①单击“文件”的“新建”命令,出现如下对话框:
②选择“C++ Source File”,在“文件”框中输入文件名“SeqList”,扩展名默认为“.cpp”,然后单击“确定”按钮。
③在SeqList.cpp文件中输入各个函数的代码:
#include stdafx.h
#includeiostream.h
#includestdlib.h
#include SeqList.h //注意:#include语句要写在.cpp文件的开头
SeqList :: SeqList ( int sz ) { //构造函数,通过指定sz,定义数组的长度
if ( sz 0 ) {
data = new T[sz];
if ( data != NULL ) {
MaxSize = sz; last = -1;}
else {cerr 存储分配错误!endl;exit(1);}
}
}
int SeqList::Find ( T x ) {
//搜索函数:在表中从前向后顺序查找 x
int i = 0;
while (i = last data[i] != x)
i++;
if ( i last ) return -1;
else return i+1;
}
//在指定位置i插入一个数据元素x
void SeqList::Insert(T x, int i){//i为下标,不是序号
if(last == MaxSize-1)
{
cerr顺序表已满无法插入!endl;exit(1);
}
if(i0||ilast+1) //当i等于Last+1时表示插入在最后
{ cerr参数i越界出错!endl; exit(1);}
//从后向前把前一个元素迁移到后一个元素位置直到存储位置为i为止
last++;//当前最后元素下标加1
原创力文档


文档评论(0)