//
#include <iomanip>
#include <iostream>
using namespace std;
#define ListInitSize 10//存储空间的初始分配量
#define ListIncrement 1//存储空间的分配增量
typedef int ElemType;
typedef enum {
OVERFLOW = -1,//内存不足
OK = 0,//正常返回
ERROR = 1,//操作错误
NOFOUND = 2//没有找到
} Status;
class SqList
{
private:
ElemType *elem;//存储空间的基址
int length;//当前线性表长度
int listsize;//当前分配的存储容量,以ElemType大小为单位
public:
SqList(unsigned int n=ListInitSize);//带参数的构造函数:初始化一个线性表
int CreateList(void);//建立一个线性表:录入数据
void ListInfo();//获取当前线性表信息
};
//默认构造函数初始化线性表
SqList::SqList(unsigned int n)
{
elem = new ElemType[n];
if(elem==NULL)
exit(OVERFLOW);//存储分配失败
length=0;//空表长度为0
listsize=n;//初始存储容量
}
//线性表初始化完毕
//在建立好的线性表中,录入数据
int SqList::CreateList(void)
{
int i=0;
cout<<"输入要存储的内容:("<<listsize<<")个:";
for(i=0;i<listsize;i++)
cin>>elem[i];
length=listsize;//表长度
return OK;
}
//end
//获取当前线性表信息
void SqList::ListInfo()
{
cout<<"当前线性表内容:"<<endl;
for(int i=0;i<length;i++)
cout<<setw(5)<<elem[i];
cout<<endl<<"当前线性表长度:"<<length;
cout<<endl<<"当前线性表容量:"<<listsize<<endl;
}
//end
int main(void)
{
SqList my_list(7);
my_list.CreateList();
my_list.ListInfo();
return 0;
}
运行结果:
© 2017-2019 超级试练试题库,All Rights Reserved.