怎么用C++建立一个含7个数据元素的顺序表L={21,23,14,5,56,17,31},并输出该表中各元素的值和顺序表的长度

问题描述:

怎么用C++建立一个含7个数据元素的顺序表L={21,23,14,5,56,17,31},并输出该表中各元素的值和顺序表的长度

//

#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;

}

运行结果: