怎么用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;

}

运行结果:

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-07
//---------------------------------------------------------------------------
#include <iostream>
#include <vector>

using namespace std;

class LIST
{
private :vector<int> data;
public:
LIST()
{
data.push_back(21);
data.push_back(23);
data.push_back(14);
data.push_back(5);
data.push_back(56);
data.push_back(17);
data.push_back(31);

}
void prt(void)
{
for (vector<int>::iterator s=data.begin(); s!=data.end(); s++) {
cout<<*s<<'\t';
}
cout<<endl;
}
size_t size(void)
{
return data.size();
}
void get(int n)
{
data.push_back(n);
}
};
int main(void)
{
LIST li;
li.prt();
cout<<"Size:"<<li.size();
return 0;
}
//---------------------------------------------------------------------------
相似回答