实验二(第1题)
来源:互联网 发布:2017中国环保产业数据 编辑:程序博客网 时间:2024/05/05 13:44
//seqlist.h头文件
#ifndef seqlist_h
#define seqlist_h
const int maxsize = 100;
class seqlist
{
public:
seqlist()
{
length = 0;
}
seqlist(int a[], int n);
~seqlist(){}
int get(int i);
int locate(int x);
void insert(int i, int x);
int Delete(int i);
void printlist();
private:
int data[maxsize];
int length;
};
#endif
//seqlist.cpp源文件
#include<iostream>
using namespace std;#include "seqlist.h"
seqlist::seqlist(int a[], int n)
{
if (n>maxsize)throw"参数非法";
for (int i= 0; i<n; i++)
{
data[i] = a[i];
length = n;
}
}
int seqlist::locate(int x)
{
for (int i = 0; i<length; i++)
if (data[i] = x)return i + 1;
return 0;
}
int seqlist::get(int i)
{
if (i<1 && i>length)throw "查找位置非法";
else return data[i - 1];
}
void seqlist::insert(int i, int x)
{
if (length>maxsize)throw"上溢";
if (i<1 || i>length + 1) throw"位置非法";
for (int j = length; j >= i; j--)
data[j] = data[j-1];
data[i-1] = x;
length++;
}
int seqlist::Delete(int i)
{
if (length == 0)throw"下溢";
if (i<1 || i>length)throw"位置非法";
int x = data[i-1];
for (int j = i; j<length; j++)
data[j-1] = data[i];
length--;
return x;
}
void seqlist::printlist()
{
for (int i = 0; i < length; i++)
cout << data[i] << " ";
cout << endl;
}
//seqlistmain.cpp源文件
#include<iostream>
using namespace std;
#include"seqlist.h"
void main()
{
int r[5] = { 2, 4, 6, 8, 10};
seqlist L(r, 5);
cout << "执行插入操作前数据为:" << endl;
L.printlist();
try
{
L.insert(2, 3);
}
catch (char *s)
{
cout << s << endl;
}
cout << "执行插入操作后数据为:" << endl;
L.printlist();
cout << "值为4的元素位置为:";
cout << L.locate(4) << endl;
cout << "第三个元素的值为:";
cout << "L.get(3)"<<endl;
cout << "执行删除第一个元素操作,删除前数据为:" << endl;
L.printlist();
try
{
L.Delete(10);
}
catch(char *s)
{
cout << s << endl;
}
cout << "删除后数据为:" << endl;
L.printlist();
}
- 实验二(第1题)
- C++第1次实验二
- 第四周实验报告(二)
- 第四周实验报告(任务二)
- 第四周实验报告(二)
- 第四周实验二
- 数据结构实验一(第1题)
- 实验二:线性表实验(1)
- C++第3次上机实验报告(友元函数二题)
- C++第1次实验(基础班)—初识C++(项目二2)
- C++第1次实验(基础班)—初识C++(项目二3)
- C++第1次实验(提高班)项目二:分段函数求值
- C++程序设计实验报告(三十六)---第四周任务二
- C++第2次实验-实验报告(1)
- 第四周实验报告 任务二
- 第6周实验报告任务二
- 第6周实验报告任务二
- 第8周实验报告任务二
- Android中隐士自动跳转到系统设置界面
- python实现爬虫统计学校BBS男女比例(二)多线程爬虫
- Nginx + Keepalived 配置实例
- ArcGIS教程:表面等值线的工作原理
- mysql字符集修改问题总结
- 实验二(第1题)
- 各种编码格式的比较
- ubuntu discuz mysqli_connect() 不支持 advice_mysqli_connect的解决方法
- GitHub教程
- Mysql简单说明
- 【Python】获取Chrome浏览器已保存的账号和密码
- 当前工作路径与应用程序启动路径
- Android中Activity.this,getApplicationContext(),getBaseContext()和this详解
- 27. Remove Element