当前位置: 首页 > news >正文

嘉兴五县两区网站建设网站建设需要什么系统

嘉兴五县两区网站建设,网站建设需要什么系统,上海网站建设网页制作你却,网站托管找问题一#xff1a;DS顺序表--存储结构与操作 题目描述#xff1a; 实现顺序表的存储结构和操作 属性包括#xff1a;数组、实际长度、最大长度#xff08;设定为1000#xff09; 操作包括#xff1a;创建、插入、删除、查找 输入要求#xff1a; 第1行先输入n表示…问题一DS顺序表--存储结构与操作 题目描述 实现顺序表的存储结构和操作 属性包括数组、实际长度、最大长度设定为1000 操作包括创建、插入、删除、查找 输入要求 第1行先输入n表示有n个数据即n是实际长度接着输入n个数据 第2行输入要插入的位置和新数据 第3行输入要插入的位置和新数据 第4行输入要删除的位置 第5行输入要删除的位置 第6行输入要查找的位置 第7行输入要查找的位置 输出要求 数据之间用空格隔开 第1行输出创建后的顺序表内容包括顺序表实际长度和数据 每成功执行一次操作插入或删除输出执行后的顺序表内容 每成功执行一次查找输出查找到的数据 如果执行操作失败包括插入、删除、查找等失败输出字符串error不必输出顺序表内容 输入样例 6 11 22 33 44 55 66 3 777 1 888 1 9 0 5输出样例 6 11 22 33 44 55 66 7 11 22 777 33 44 55 66 8 888 11 22 777 33 44 55 66 7 11 22 777 33 44 55 66 error error 44 代码示例 #include iostream using namespace std;#define MAX_SIZE 100class SList { public:SList();~SList();void InitList(int arr[], int n);int Insert(int x, int pos);int Delete(int pos);int Get(int i);void Display();void Operation(); private:int* data;int lenth;int listsize; }; //无参构造 SList::SList(){data new int[MAX_SIZE];listsize MAX_SIZE;lenth 0; } //初始化链表 void SList::InitList(int arr[], int n){for (int i 0; i n; i) data[i] arr[i];lenth n; } //插入数据 int SList::Insert(int x, int pos){if ((pos 1) || (pos lenth 1)){cout error endl;return 0;}else{for (int i lenth; i pos; i--) data[i] data[i - 1];data[pos - 1] x;lenth;return 1;} } //删除数据 int SList::Delete(int pos){if ((pos 1) || (pos lenth)){cout error endl;return 0;}else{for (int i pos; i lenth; i) data[i - 1] data[i];lenth--;return 1;} } //获取数据 int SList::Get(int pos){if ((pos 1) || (pos lenth)) return 0;else return data[pos - 1]; } //打印链表 void SList::Display(){cout lenth ;for (int i 0; i lenth; i) cout data[i] ;cout endl; } //执行操作 void SList::Operation() {int number, site;//插入两个数for (int i 0; i 2; i) {cin site number;if (Insert(number, site)) Display();}//删除两个数for (int i 0; i 2; i) {cin number;if (Delete(number)) Display();}//查找两个数for (int i 0; i 2; i) {cin site;if (Get(site) ! NULL)cout Get(site);else cout error endl;} }SList::~SList(){delete[]data; }int main() {SList slist;int n;cin n;int* array new int[n];for (int i 0; i n; i) cin array[i];slist.InitList(array, n);slist.Display();slist.Operation();return 0; } 问题二DS顺序表--连续操作 题目描述 建立顺序表的存储结构属性包括数组、实际长度、最大长度设定为1000 编写如下函数 实现顺序表的初始化函数。 插入多个数据的multiinsert(int i, int n, int item[])函数实现在第i个位置连续插入来自数组item的n个数据即从位置i开始插入多个数据。 删除多个数据的multidel(int i, int n)函数实现从第i个位置开始连续删除n个数据即从位置i开始删除多个数据。 编写main函数测试该顺序表。 输入要求 第1行先输入n表示有n个数据即n是实际长度接着输入n个数据 第2行先输入i表示插入开始的位置再输入k表示有k个插入数据接着输入k个数据 第3行先输入i表示删除开始的位置再输入k表示要删除k个数据 输出要求 顺序表内容包括顺序表的实际长度和数据数据之间用空格隔开 第1行输出创建后的顺序表内容 第2行输出执行连续插入后的顺序表内容 第3行输出执行连续删除后的顺序表内容 输入样例 6 11 22 33 44 55 66 2 3 99 88 77 4 5 输出样例 6 11 22 33 44 55 66 9 11 99 88 77 22 33 44 55 66 4 11 99 88 66 代码示例 #include iostream using namespace std;#define MAX_SIZE 100class SList { public:SList();~SList();void InitList(int arr[], int n);int Insert(int x, int pos);int Delete(int pos);int Get(int pos);int multInsert(int pos, int n, int arr[]);int multiDel(int i, int n);void Display();void Operation(); private:int* data;int lenth;int listsize; }; //无参构造 SList::SList(){data new int[MAX_SIZE];listsize MAX_SIZE;lenth 0; } //初始化链表 void SList::InitList(int arr[], int n){for (int i 0; i n; i) data[i] arr[i];lenth n; } //插入数据 int SList::Insert(int x, int pos){if ((pos 1) || (pos lenth 1)){cout error endl;return 0;}else{for (int i lenth; i pos; i--) data[i] data[i - 1];data[pos - 1] x;lenth;return 1;} } //删除数据 int SList::Delete(int pos){if ((pos 1) || (pos lenth)){cout error endl;return 0;}else{for (int i pos; i lenth; i) data[i - 1] data[i];lenth--;return 1;} } //获取数据 int SList::Get(int pos){if ((pos 1) || (pos lenth)) return 0;else return data[pos - 1]; } //插入多个数据 int SList::multInsert(int pos, int n, int arr[]) {if (pos 1 || pos lenth 1){cout error endl;return 0;}else {for (int i lenth n - 1; i pos n - 1; i--) data[i] data[i - n];for (int i 0; i n; i)data[pos i - 1] arr[i];lenth n;return 1;} } //删除多个数据 int SList::multiDel(int pos, int n) {if (pos 1 || pos lenth) {cout error endl;return 0;}else {for (int i 0; i n; i) {data[pos - 1 i] data[pos - 1 i n];}lenth - n;return 1;} } //打印链表 void SList::Display(){cout lenth ;for (int i 0; i lenth; i) cout data[i] ;cout endl; } //执行操作 void SList::Operation() {int number, site;cin site number;int* array new int[number];for (int i 0; i number; i) {cin array[i];}if (multInsert(site, number, array)) Display();else cout error endl;cin site number;if (multiDel(site, number)) Display();else cout error endl; }SList::~SList(){delete[]data; }int main() {SList slist;int n;cin n;int* array new int[n];for (int i 0; i n; i) cin array[i];slist.InitList(array, n);slist.Display();slist.Operation();return 0; } 问题三DS顺序表--合并操作 题目描述 建立顺序表数据类型属性包括数组、实际长度、最大长度设定为1000 已知两个递增序列把两个序列的数据合并到顺序表中并使得顺序表的数据递增有序 输入要求 第1行先输入n表示有n个数据接着输入n个数据表示第1个序列要求数据递增互不等 第2行先输入m表示有m个数据接着输入m个数据表示第2个序列要求数据递增互不等 输出要求 顺序表内容包括顺序表的实际长度和数据数据之间用空格隔开 第1行输出创建后的顺序表内容 输入样例 3 11 33 55 5 22 44 66 88 99输出样例 3 11 33 55 5 22 44 66 88 99代码示例 #include iostream using namespace std;#define MAX_SIZE 100class SList { public:SList();~SList();void InitList(int arr[], int n);int Insert(int x, int pos);int Delete(int pos);int Get(int pos);int multInsert(int pos, int n, int arr[]);int multiDel(int i, int n);void Add(int arr[], int n, int brr[], int m);void Display();void Operation(); private:int* data;int lenth;int listsize; }; //无参构造 SList::SList(){data new int[MAX_SIZE];listsize MAX_SIZE;lenth 0; } //初始化链表 void SList::InitList(int arr[], int n){for (int i 0; i n; i) data[i] arr[i];lenth n; } //插入数据 int SList::Insert(int x, int pos){if ((pos 1) || (pos lenth 1)){cout error endl;return 0;}else{for (int i lenth; i pos; i--) data[i] data[i - 1];data[pos - 1] x;lenth;return 1;} } //删除数据 int SList::Delete(int pos){if ((pos 1) || (pos lenth)){cout error endl;return 0;}else{for (int i pos; i lenth; i) data[i - 1] data[i];lenth--;return 1;} } //获取数据 int SList::Get(int pos){if ((pos 1) || (pos lenth)) return 0;else return data[pos - 1]; } //插入多个数据 int SList::multInsert(int pos, int n, int arr[]) {if (pos 1 || pos lenth 1){cout error endl;return 0;}else {for (int i lenth n - 1; i pos n - 1; i--) data[i] data[i - n];for (int i 0; i n; i)data[pos i - 1] arr[i];lenth n;return 1;} } //删除多个数据 int SList::multiDel(int pos, int n) {if (pos 1 || pos lenth) {cout error endl;return 0;}else {for (int i 0; i n; i) {data[pos - 1 i] data[pos - 1 i n];}lenth - n;return 1;} } //合并两个链表 void SList::Add(int arr[], int n, int brr[], int m) {lenth m n;int j 0, k 0;for (int i 0; i m n; i) {if (*(arr j) *(brr k) j n) *(data i) *(arr j), j;else if (*(arr j) *(brr k) k m) *(data i) *(brr k), k;else if (j n) *(data i) *(brr k), k;else if (k m) *(data i) *(arr j), j;} } //打印链表 void SList::Display(){cout lenth ;for (int i 0; i lenth; i) cout data[i] ;cout endl; } //执行操作 void SList::Operation() {}SList::~SList(){delete[]data; }int main() {SList slist;int n;cin n;int* array new int[n];for (int i 0; i n; i) cin array[i];int m;cin m;int* brray new int[m];for (int i 0; i m; i) cin brray[i];slist.Add(array, n, brray, m);slist.Display();return 0; } 问题四DS顺序表--循环移位 题目描述 顺序表的移位是循环移位例如顺序表123456。如果左移1位即原来的头元素移动到末尾其它元素向左移1位变成234561。同理如果右移1位即原来的尾元素移动到头其它元素向右移1位变成612345。以下是移位的多个例子 原数据123456 左移3位456123与原数据对比 右移4位345612与原数据对比 请编写程序实现顺序表的循环移位操作 输入要求 第1行输入n表示顺序表包含的·n个数据 第2行输入n个数据数据是小于100的正整数 第3行输入移动方向和移动的位数左移方向为0右移方向为1 第4行输入移动方向和移动的位数左移方向为0右移方向为1 注意移动操作是针对上一次移动后的结果进行的 输出要求 第一行输出创建后顺序表内的所有数据数据之间用空格隔开 第二行输出第一次移位操作后顺序表内的所有数据数据之间用空格隔开 第三行输出第二次移位操作后顺序表内的所有数据数据之间用空格隔开 输入样例 5 11 22 33 44 55 0 2 1 4输出样例 11 22 33 44 55 33 44 55 11 22 44 55 11 22 33 代码示例 #include iostream using namespace std;#define MAX_SIZE 100class SList { public:SList();~SList();void InitList(int arr[], int n);int Insert(int x, int pos);int Delete(int pos);int Get(int pos);int multInsert(int pos, int n, int arr[]);int multiDel(int i, int n);void Add(int arr[], int n, int brr[], int m);void TurnSequence(int dir, int amount);void Display();void Operation(); private:int* data;int lenth;int listsize; }; //无参构造 SList::SList(){data new int[MAX_SIZE];listsize MAX_SIZE;lenth 0; } //初始化链表 void SList::InitList(int arr[], int n){for (int i 0; i n; i) data[i] arr[i];lenth n; } //插入数据 int SList::Insert(int x, int pos){if ((pos 1) || (pos lenth 1)){cout error endl;return 0;}else{for (int i lenth; i pos; i--) data[i] data[i - 1];data[pos - 1] x;lenth;return 1;} } //删除数据 int SList::Delete(int pos){if ((pos 1) || (pos lenth)){cout error endl;return 0;}else{for (int i pos; i lenth; i) data[i - 1] data[i];lenth--;return 1;} } //获取数据 int SList::Get(int pos){if ((pos 1) || (pos lenth)) return 0;else return data[pos - 1]; } //插入多个数据 int SList::multInsert(int pos, int n, int arr[]) {if (pos 1 || pos lenth 1){cout error endl;return 0;}else {for (int i lenth n - 1; i pos n - 1; i--) data[i] data[i - n];for (int i 0; i n; i)data[pos i - 1] arr[i];lenth n;return 1;} } //删除多个数据 int SList::multiDel(int pos, int n) {if (pos 1 || pos lenth) {cout error endl;return 0;}else {for (int i 0; i n; i) {data[pos - 1 i] data[pos - 1 i n];}lenth - n;return 1;} } //合并两个链表 void SList::Add(int arr[], int n, int brr[], int m) {lenth m n;int j 0, k 0;for (int i 0; i m n; i) {if (*(arr j) *(brr k) j n) *(data i) *(arr j), j;else if (*(arr j) *(brr k) k m) *(data i) *(brr k), k;else if (j n) *(data i) *(brr k), k;else if (k m) *(data i) *(arr j), j;} } //循环移位 void SList::TurnSequence(int dir, int amount) {int* tmp new int[lenth];if (dir 0) {for (int i 0; i lenth; i) {if (i amount) tmp[lenth - amount i] data[i];else tmp[i - amount] data[i];}}else {for (int i 0; i lenth; i) {if (i amount lenth) tmp[amount i - lenth] data[i];else tmp[i amount] data[i];}}for (int i 0; i lenth; i) data[i] tmp[i]; } //打印链表 void SList::Display(){cout lenth ;for (int i 0; i lenth; i) cout data[i] ;cout endl; } //执行操作 void SList::Operation() {int direction, digit;for (int i 0; i 2; i) {cin direction digit;TurnSequence(direction, digit);Display();} }SList::~SList(){delete[]data; }int main() {SList slist;int n;cin n;int* array new int[n];for (int i 0; i n; i) cin array[i];slist.InitList(array, n);slist.Display();slist.Operation();return 0; } 问题五计算2支股票的M天运动平均价格 题目描述 给定2支股票的开盘价和收盘价的N天历史数据 要求按开盘和收盘分别计算每支股票的每个日期对应的M天移动平均价格。 假定两个股票数据如下 日期            开盘/收盘      第1支股票价格S1       第2支股票价格S2 2004/7/29 close 6 4 2004/7/25 close 2 6 2004/7/26 open 8 12 2004/7/30 open 2 4 2004/7/27 close 8 10 2004/7/28 open 4 2 按M2天日期不用连续计算移动平均价格按先开盘后收盘价输出如下若某日期之前没有M-1条的记录日期不用连续则不用输出 2004/7/28 open 6 7 2004/7/30 open 3 3 2004/7/27 close 5 8 2004/7/29 close 7 7 其中, 2004/7/28日的S1的值为(84)/2 6 即将2004/7/28和最近1条记录2004/7/26最近2条记录最近M-1条记录的价格求和并计算平均。 输入要求 第1行N天记录   M天平均 第2行到N1行N天2支股票的开盘与收盘价格注意日期是无序的 6  2 2004/7/29 close 6 4 2004/7/25 close 2 6 2004/7/26 open 8 12 2004/7/30 open 2 4 2004/7/27 close 8 10 2004/7/28 open 4 2 输出要求 每个日期的最近M条记录包括该日期的价格在内的平均价格若某日期之前没有M-1条的记录日期不用连续则不用输出 2004/7/28 open 6 7 2004/7/30 open 3 3 2004/7/27 close 5 8 2004/7/29 close 7 7 输入样例 6 2 2004/7/29 close 6 4 2004/7/25 close 2 6 2004/7/26 open 8 12 2004/7/30 open 2 4 2004/7/27 close 8 10 2004/7/28 open 4 2 输出样例 2004/7/28 open 6 7 2004/7/30 open 3 3 2004/7/27 close 5 8 2004/7/29 close 7 7 代码示例 #include iostream using namespace std;#define MAX_SIZE 100 int M;struct Stock {string date;int price1, price2; };class SList { public:SList();~SList();void InitList(int arr[], int n);int Insert(int x, int pos);void InsertStock(Stock s);int findPos(Stock s);void Display();void Calculate(string type); private:int* data;Stock* Sdata;int lenth;int listsize; }; //无参构造 SList::SList(){data new int[MAX_SIZE];Sdata new Stock[MAX_SIZE];listsize MAX_SIZE;lenth 0; } //初始化链表 void SList::InitList(int arr[], int n){for (int i 0; i n; i) data[i] arr[i];lenth n; } //查找股票应插入的位置 int SList::findPos(Stock s) {if (!lenth) return 0;else {int idx0 atoi(s.date.substr(s.date.length() - 2, 2).c_str());for (int i 0; i lenth; i) {int idxi atoi(Sdata[i].date.substr(Sdata[i].date.length() - 2, 2).c_str());if (idxi idx0) return i;}return lenth;} } //插入股票 void SList::InsertStock(Stock s) {if (lenth 0) Sdata[0] s;else {int pos findPos(s);for (int i lenth; i pos; i--) Sdata[i] Sdata[i - 1];Sdata[pos] s;}lenth; } //计算并输出 void SList::Calculate(string type) {for (int i M - 1; i lenth; i) {cout Sdata[i].date type;int sum1 0, sum2 0;for (int j i; j i - M 1; j--) {sum1 Sdata[j].price1;sum2 Sdata[j].price2;}cout sum1 / M sum2 / M endl;} }SList::~SList(){delete[]data; }int main() {SList olist,clist;int n;cin n M;for (int i 0; i n; i){Stock stock;string type;cin stock.date type stock.price1 stock.price2;if (type open) olist.InsertStock(stock);else clist.InsertStock(stock);}olist.Calculate(open);clist.Calculate(close);return 0; } 问题五复习一下关于string的几个知识点 string转int运用atoi(str.c_str())即可完成转化string提取字串运用str.substr(pos, lenth)pos是被提取的字串的开始位置lenth为被提取字串的长度。
http://www.zqtcl.cn/news/27890/

相关文章:

  • 网站基础模板免费查询网
  • 公司网站模版千秋网站建设公司
  • 南昌网站开发制作公司防伪查询网站
  • iis如何设置服务器上网站空间大小公司建设网站费用如何入帐
  • 宁波 做网站的视频网站怎么做的反爬虫
  • 建设工程安全员教育网站宝塔怎么做两个网站
  • flash相册网站源码有没有帮别人做网站
  • 动漫做暧视频网站嵌入式软件开发前景怎么样
  • 河北建设工程招标协会网站免费不需要vip的追剧软件
  • 湛江企业网站怎么建设软件app开发制作
  • 织梦可以做微网站吗外贸网站要先备案吗
  • 郑州专业网站建设搭建公司昆山网站建设公司
  • 光辉网络 石家庄网站建设上海网站备案审核时间
  • 对网站主要功能界面进行赏析学做视频的网站
  • 网站常用热点hot小图标wordpress视频网站用什么播放器
  • 一键网站提交免费网上商城系统
  • 长葛住房和城乡建设局网站个人网站源码模板
  • 网站建设在医院的作用上海网页制作方法
  • 网站维护提示成都app
  • 网址收录网站生活分类网站建设
  • nodejs适合网站开发深圳办公室租金多少钱一平
  • 建设银行网站会员基本信息贺卡网图
  • 古镇建网站公司哈尔滨网络公司代理商
  • 那个网站做的调查准确企业网站建设的目标
  • 禅城网站建设哪家好网站开发包括后台 前台
  • 做网站建设出路在哪里兰州百姓网免费发布信息网站
  • 大淘客怎么做网站重庆网站营销
  • php网站建设安装环境常用个人网站是什么
  • 网站开发目的和意义邵阳建设网站的公司
  • 哪些网站可以做装修域名怎么选才正确