【ID:17】【20分】A. DS顺序表--类实现
创始人
2024-05-28 17:34:29
0

时间限制1秒内存限制128兆字节

题目描述

用C++语言和类实现顺序表

属性包括:数组、实际长度、最大长度(设定为1000)

操作包括:创建、插入、删除、查找

类定义参考

输入

第1行先输入n表示有n个数据,即n是实际长度;接着输入n个数据 第2行输入要插入的位置和新数据 第3行输入要插入的位置和新数据 第4行输入要删除的位置 第5行输入要删除的位置

第6行输入要查找的位置

第7行输入要查找的位置

输出

数据之间用空格隔开

第1行输出创建后的顺序表内容,包括顺序表实际长度和数据

每成功执行一次操作(插入或删除),输出执行后的顺序表内容

每成功执行一次查找,输出查找到的数据

如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出顺序表内容

样例查看模式

正常显示查看格式

输入样例1<-复制

输出样例1

提示

第i个位置是逻辑意义的位置,从1开始,在实际编程用数组,从0开始,对应数组i-1位置

#include
using namespace std;
#define ok 0
#define error -1class SeqList
{
private:int* list;int maxsize;int size;
public :SeqList();SeqList(int *l,int s);~SeqList();int list_size();int list_inser(int i, int item);int list_del(int i);int list_get(int i);void list_display();void push(int item);
};
SeqList::SeqList()
{maxsize = 1000;size = 0;list = new int[maxsize];//直接创建的数组的最长长度为max
}
SeqList::SeqList(int* l, int s)
{list = new int[s];for (int i = 0; i < s; i++){list[i] = l[i];}size = s;
}
SeqList::~SeqList()
{delete[]list;
}
//第i个位置是逻辑意义的位置,从1开始,在实际编程用数组,从0开始,对应数组i-1位置
int SeqList::list_inser(int i, int item)
{//数组多一个//插到i位置上//从后往前开始往后排if (i > size+1 || i <= 0 || size == maxsize){return error;}else{for (int j = size; j >= i; j--){list[j] = list[j - 1];}list[i - 1] = item;//要插入的项size += 1;return ok;}
}
int SeqList::list_size()
{return size;
}
int SeqList::list_del(int i)
{if (i > size || i <= 0){return error;}else{//从前往后for (int j = i - 1; j < size; j++){list[j] = list[j + 1];}size -= 1;return ok;}
}
int SeqList::list_get(int i)
{if (i > size || i <= 0){return error;}else{return list[i-1];}
}
void SeqList::list_display()
{cout << size << " ";for (int i = 0; i < size; i++){cout << list[i] << " ";}cout << endl;
}
void SeqList::push(int item)
{list[size] = item;size++;
}
int main()
{int size;cin >> size;int* list = new int[size];for (int i = 0; i < size; i++){cin >> list[i];}SeqList s;//由于有参与无参只能出现一个,而且题目很明显是要调用无参构造,所以只能在构建一个成员方法for (int i = 0; i < size; i++){s.push(list[i]);}s.list_display();int index, number;cin >> index >> number;if (s.list_inser(index, number)==ok){s.list_display();}else{cout << "error" << endl;}cin >> index >> number;if (s.list_inser(index, number) == ok){s.list_display();}else{cout << "error" << endl;}cin >> index;if (s.list_del(index) == ok){s.list_display();}else{cout << "error" << endl;}cin >> index;if (s.list_del(index)==ok){s.list_display();}else{cout << "error" << endl;}cin >> index;if (s.list_del(index) == ok){s.list_display();}else{cout << "error" << endl;}cin >> index;if (index > s.list_size() + 1 || index <= 0){cout << "error" << endl;}{cout << s.list_get(index) << endl;}return 0;
}

相关内容

热门资讯

幼儿园开学典礼的主持词 幼儿园开学典礼的主持词范文(精选6篇)  根据活动对象的不同,需要设置不同的主持词。在当下这个社会中...
教师节晚会活动主持词 教师节晚会活动主持词(精选10篇)  主持词是主持人在台上表演的灵魂之所在。在当下的中国社会,很多场...
同学聚会的主持词 同学聚会的主持词3篇  中学时代,是一个人一生中最美好的时光。小编为大家整理了同学聚会的主持词3篇,...
大学毕业典礼主持词 关于大学毕业典礼主持词(通用10篇)  主持词要注意活动对象,针对活动对象写相应的主持词。在当下的中...
宝宝宴主持词 宝宝宴主持词范本  宴会前:尊敬的各位来宾,亲爱的朋友们,我们的宴会将于五分钟之后准时开始,请您抓紧...
周年音乐朗诵会主持词 周年音乐朗诵会主持词  主持词每一项大型活动都不可或缺的一部分重要组成。一项活动的成功与否很大程度上...
甄选春的主持词 甄选春的主持词  活动对象的不同,主持词的写作风格也会大不一样。在如今这个时代,越来越多的场合都需要...
婚礼主婚人致辞 婚礼主婚人致辞(15篇)  在学习、工作、生活中,许多人都有过写致辞的经历,对致辞都不陌生吧,致辞要...
晚会主持人主持稿 晚会主持人主持稿  在我们平凡的日常里,我们需要用到主持稿的情形越来越多,主持稿是主持人在会议或是节...
母亲的生日祝寿词 母亲的生日祝寿词春天像一个风华正茂的少女,迈着轻盈的脚步,如期而至。在这如花似玉的`季节里,今天,我...
幼儿园元旦文艺汇演流程主持词 幼儿园元旦文艺汇演流程主持词  A:谁将平地万秋叶,剪刻做此连天花?  C:秋爽天地显繁华,某园爱意...
主持稿开场白 主持稿开场白  一、什么是主持词  主持词,又叫串连词,串联词,串词。主持词是在晚会、联欢会等大型联...
《熊出没》中的经典台词 《熊出没》中的经典台词  在学习、工作生活中,用到台词的地方越来越多,台词是剧作者用以展示剧情,刻画...
军训开幕式致辞 军训开幕式致辞  在平平淡淡的学习、工作、生活中,大家对致辞都再熟悉不过了吧,致辞受场合、事件的限制...
学校拜师仪式主持词 学校拜师仪式主持词  导读:由主持人于节目进行过程中串联节目的串联词。如今的各种演出活动和集会中,主...
婚礼主持人致辞 婚礼主持人致辞(精选6篇)  在我们平凡的日常里,大家或多或少都用到过致辞吧,致辞具有针对性,要认清...
校园活动主持词 校园活动主持词  【导语】不论是会议还是晚会等活动都需要主持人和主持词,好的主持稿对会议的气氛会起到...
公司酒会主持词 公司酒会主持词  根据活动对象的不同,需要设置不同的主持词。在一步步向前发展的社会中,主持成为很多活...
感恩的心串词21篇 感恩的心串词21篇  一、串词的构成要素  1、思想的深刻性;  2、知识的广泛性;  3、宣传主题...
闭幕式主持词 【必备】闭幕式主持词3篇  借鉴诗词和散文诗是主持词的一种写作手法。在当今社会生活中,主持成为很多活...