没有合适的资源?快使用搜索试试~ 我知道了~
模板类实现顺序表基本操作
需积分: 10 12 下载量 18 浏览量
2010-10-23
04:37:47
上传
评论
收藏 5KB TXT 举报
温馨提示
试读
7页
模板类实现顺序表基本操作 C++程序代码 数据结构
资源推荐
资源详情
资源评论
//顺序表的实现 模板类
#include<iostream>
#include<string>
using namespace std;
const int maxlen=100;
bool error;
template<class Telem>
class SqList
{
public:
SqList(){curlen=0;}; //无参构造函数
SqList(Telem a[],int n); //有参构造函数
~SqList(){}; //析构
void Insert(int i,Telem x); //在i位置插入x
int GetLength(){return curlen;};
void SLCreat(int n); //求表长
Telem Del(int i); //删除第i个元素
Telem Get(int i); //按位查找 取第i个元素
int Locate(Telem x); //按值查找 求x为第几个元素
void PrintList(); //遍历并输出
private:
Telem elem[maxlen];
int curlen;
};
//有参构造函数
template<class Telem>
SqList<Telem>::SqList(Telem a[],int n)
{
int i;
#include<iostream>
#include<string>
using namespace std;
const int maxlen=100;
bool error;
template<class Telem>
class SqList
{
public:
SqList(){curlen=0;}; //无参构造函数
SqList(Telem a[],int n); //有参构造函数
~SqList(){}; //析构
void Insert(int i,Telem x); //在i位置插入x
int GetLength(){return curlen;};
void SLCreat(int n); //求表长
Telem Del(int i); //删除第i个元素
Telem Get(int i); //按位查找 取第i个元素
int Locate(Telem x); //按值查找 求x为第几个元素
void PrintList(); //遍历并输出
private:
Telem elem[maxlen];
int curlen;
};
//有参构造函数
template<class Telem>
SqList<Telem>::SqList(Telem a[],int n)
{
int i;
if (n>curlen) {cout<<"上溢"<<endl; error=true;}
else for(i=0;i<n;i++) elem[i]=a[i];
}
template <class Telem>//建表
void SqList<Telem>::SLCreat(int n)
{
Telem x;
cout<<"请输入数据元素值: ";
for(int i=0;i<n;i++)
{cin>>x; elem[i]=x;curlen++;}
}
//在i位置插入x
template<class Telem>
void SqList<Telem>::Insert(int i,Telem x)
{
int j;
if (curlen>=maxlen) {cout<<"表满,无法插入"<<endl; error=true;}
else if(i>curlen+1||i<1) {cout<<"位置异常"<<endl; error=true;}
else
{
for(j=curlen-1;j>=i-1;j--)
elem[j+1]=elem[j];
elem[i-1]=x;
curlen++;
};
}
//删除第i个元素
template<class Telem>
Telem SqList<Telem>::Del(int i)
else for(i=0;i<n;i++) elem[i]=a[i];
}
template <class Telem>//建表
void SqList<Telem>::SLCreat(int n)
{
Telem x;
cout<<"请输入数据元素值: ";
for(int i=0;i<n;i++)
{cin>>x; elem[i]=x;curlen++;}
}
//在i位置插入x
template<class Telem>
void SqList<Telem>::Insert(int i,Telem x)
{
int j;
if (curlen>=maxlen) {cout<<"表满,无法插入"<<endl; error=true;}
else if(i>curlen+1||i<1) {cout<<"位置异常"<<endl; error=true;}
else
{
for(j=curlen-1;j>=i-1;j--)
elem[j+1]=elem[j];
elem[i-1]=x;
curlen++;
};
}
//删除第i个元素
template<class Telem>
Telem SqList<Telem>::Del(int i)
剩余6页未读,继续阅读
资源评论
yunshouhu
- 粉丝: 1051
- 资源: 115
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功