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

做电影网站需要什么手续西安网站设计开发

做电影网站需要什么手续,西安网站设计开发,支付宝股东日本软银集团,wordpress页面添加描述文章目录 一、前言二、问题问题:1009 - 数组逆序问题:1162 - 数组元素的删除问题:1211 - 数组元素的插入问题:1161. 元素插入有序数组问题:1159. 数组元素的移动 三、感谢 一、前言 本章节主要对数组问题中数组元素移…

文章目录

  • 一、前言
  • 二、问题
    • 问题:1009 - 数组逆序
    • 问题:1162 - 数组元素的删除
    • 问题:1211 - 数组元素的插入
    • 问题:1161. 元素插入有序数组
    • 问题:1159. 数组元素的移动
  • 三、感谢

一、前言

本章节主要对数组问题中数组元素移动的题目进行讲解,包括《1009 - 数组逆序》《1162 - 数组元素的删除》《1211 - 数组元素的插入》《1161. 元素插入有序数组》《1159. 数组元素的移动》。

二、问题

问题:1009 - 数组逆序

类型:数组元素移动


题目描述:

给你 m 个整数,将其逆序输出。

输入:

第一行一个整数 m (3≤m≤100)代表数的个数。

第二行 m 个整数(空格隔开)(这些数在 0∼10^6之间)。

输出:

m 个整数(空格隔开)。

样例:

输入:

3
1 7 5

输出:

5 7 1

在这里插入图片描述


1.分析问题

  1. 已知:用户将输入m个整数。
  2. 未知:需要逆序输出这些整数。
  3. 关系:通过交换数组元素的位置实现逆序。

2.定义变量

  • 用于存储数组的长度,即用户将输入的整数的数量。
  • 定义一个最大长度为100的数组,用于存储用户输入的整数。
    // 二、数据定义int n; int a[100]; 

3.输入数据

  • 输入数组的长度。
  • 逐个输入整数,并存储在数组中。
 // 三、数据输入cin >> n; for(int i = 0; i < n; i++){cin >> a[i]; }

4.数据计算

  • 使用一个循环遍历数组的前半部分,通过交换数组两端的元素来实现逆序。
  	// 四、数据计算 - 实现逆序int temp; for(int i = 0; i < n / 2; i++){ temp = a[i];a[i] = a[n - i - 1]; a[n - i - 1] = temp; }

5.输出结果

  • 逐个输出逆序后的数组元素。
  // 五、输出结果for(int i = 0; i < n; i++){cout << a[i] << " "; }

完整代码如下:

#include<iostream>
using namespace std;
int main(){// 一、分析问题// 已知:用户将输入m个整数// 未知:需要逆序输出这些整数// 关系:通过交换数组元素的位置实现逆序// 二、数据定义int n; // 用于存储数组的长度,即用户将输入的整数的数量int a[100]; // 定义一个最大长度为100的数组,用于存储用户输入的整数// 三、数据输入cin >> n; // 输入数组的长度for(int i = 0; i < n; i++){cin >> a[i]; // 逐个输入整数,并存储在数组中}// 四、数据计算 - 实现逆序int temp; // 用于临时存储数组元素,以便交换for(int i = 0; i < n / 2; i++){ // 只需遍历数组前半部分temp = a[i]; // 将当前元素存储在temp中a[i] = a[n - i - 1]; // 将对应位置的后半部分元素放到前半部分a[n - i - 1] = temp; // 将temp中的元素放到后半部分}// 五、输出结果for(int i = 0; i < n; i++){cout << a[i] << " "; // 逐个输出逆序后的数组元素}return 0; // 主函数正常结束
}

问题:1162 - 数组元素的删除

类型:数组元素移动


题目描述:

把一个数组的第 x 个位置的元素删除掉。

输入:

输出有三行:

第一行有一个整数 n ( n≤10 );

第二行有 n 个整数(每个整数在1~1000之间);

第三行有一个整数 x(1≤x≤n),为要删除的位置。

输出:

输出更新后的数组。

样例:

输入:

5
1 2 3 4 5 
3

输出:

1 2 4 5

在这里插入图片描述


1.分析问题

  1. 已知:用户将输入一个数组和一个要删除的元素的位置。
  2. 未知:删除指定位置的元素后的新数组。
  3. 关系:将指定位置之后的所有元素向前覆盖移动一位。

2.定义变量

  • n:数组的长度。
  • x::要删除的元素的位置。
    // 二、数据定义int n; int a[100]; int x; 

3.输入数据

  • 输入数组的长度。
  • 逐个输入数组元素 。
  • 输入要删除的元素的位置。
  // 三、数据输入cin >> n; for(int i = 0; i < n; i++){cin >> a[i]; }cin >> x; 

4.数据计算

  • C++数组的下标从0开始,所以将输入的位置减1。
  • 将指定位置之后的元素向前覆盖移动一位。
    // 四、数据计算 - 删除指定位置的元素--x; for(int i = x; i < n - 1; i++){a[i] = a[i + 1]; }

5.输出结果

  • 逐个输出数组元素。
    // 五、输出结果 - 输出删除元素后的数组for(int i = 0; i < n - 1; i++){cout << a[i] << " "; }

完整代码如下:

#include<iostream>
using namespace std;int main(){// 一、分析问题// 已知:用户将输入一个数组和一个要删除的元素的位置。// 未知:删除指定位置的元素后的新数组。// 关系:将指定位置之后的所有元素向前覆盖移动一位。// 二、数据定义int n; // 数组的长度int a[100]; // 数组,最大长度为100int x; // 要删除的元素的位置// 三、数据输入cin >> n; // 输入数组的长度for(int i = 0; i < n; i++){cin >> a[i]; // 逐个输入数组元素}cin >> x; // 输入要删除的元素的位置// 四、数据计算 - 删除指定位置的元素--x; // C++数组的下标从0开始,所以将输入的位置减1for(int i = x; i < n - 1; i++){a[i] = a[i + 1]; // 将指定位置之后的元素向前覆盖移动一位}// 五、输出结果 - 输出删除元素后的数组for(int i = 0; i < n - 1; i++){cout << a[i] << " "; // 逐个输出数组元素}return 0; // 主函数正常结束
}

问题:1211 - 数组元素的插入

类型:数组元素移动


题目描述:

在一个数组的第 x 个位置插入一个新的数y。

输入:

有四行 第一行有一个整数 n (5≤n≤10);

第二行有 n 个整数,用空格隔开;

第三行有一个整数 x,为要插入的位置;

第四行有一个整数 y,为要插入的整数。

输出:

更新后的数组。

样例:

输入:

5
7 2 3 4 5
2
9

输出:

7 9 2 3 4 5

在这里插入图片描述


1.分析问题

  1. 已知:一个数组。
  2. 未知:更新后的数组。
  3. 关系:在 x 个位置插入一个新的数 y。

2.定义变量

  • n 是数组的原始长度。
  • a[100] 是用于存储数组元素的数组,最大长度为100。
  • x 是要插入新元素的位置。
  • y 是要插入的新元素。
	//二、数据定义 int n,a[100],x,y;

3.输入数据

  • 首先读取数组的长度n。
  • 接着读取n个数组元素并存储在a中。
  • 然后读取插入位置x和新值y。
	//三、数据输入 cin>>n;for(int i=0;i<n;i++){cin>>a[i];}cin>>x;cin>>y;

4.数据计算

  • 将插入位置x减1,因为数组下标是从0开始的。
  • 从数组的末尾开始,将每个元素向后移动一位,直到到达位置x。
  • 在位置x处放置新值y。
	//四、数据计算 --x;for(int i=n;i>=x;i--){a[i]=a[i-1];}a[x]=y;

5.输出结果

  • 打印出更新后的数组,包括新插入的元素。
	//五、输出结果 for(int i=0;i<n+1;i++){cout<<a[i]<<" ";}

完整代码如下:

#include<iostream> // 引入标准输入输出流库
using namespace std; // 使用std命名空间,避免每次调用输入输出函数时都加上std::int main(){// 一、分析问题// 已知:一个数组// 未知:更新后的数组// 关系:在 x 个位置插入一个新的数 y// 二、数据定义int n, a[100]; // 定义一个整型变量n和一个最多有100个元素的整型数组aint x, y;      // 定义插入的位置x和新元素y// 三、数据输入cin >> n;      // 输入数组的长度for(int i = 0; i < n; i++){ // 循环读取数组的元素cin >> a[i];            // 读取第i个元素并存入数组a}cin >> x;                   // 输入插入的位置cin >> y;                   // 输入要插入的元素// 四、数据计算--x;                        // 由于数组索引从0开始,所以插入位置需要减1for(int i = n; i >= x; i--){ // 从数组的末尾开始,将所有元素向后移动一位a[i] = a[i-1];          // 将第i-1个元素复制到第i个位置}a[x] = y;                   // 在位置x处插入新元素y// 五、输出结果for(int i = 0; i <= n; i++){ // 注意这里使用<=n,因为数组现在多了一个元素cout << a[i] << " ";    // 输出数组中的每一个元素}return 0;                   // 主函数结束,返回0表示程序正常结束
}

问题:1161. 元素插入有序数组

类型:数组元素移动


题目描述:

给你一个整数 n 和一个数列(数列个数不超过 1000 ),这个数列保证从小到大排列,现要求将这个整数 n 插入到数列中,使新的数列仍然从小到大排列。

输入:

第一行一个整数 n 表示等待插入的数 ;

第二行一个整数 m 表示数列中数的个数;

第三行 m 个整数(空格隔开)。

输出:

一行整数:新的数列(空格隔开)。

样例:

输入:

2
4
1 3 4 5

输出:

1 2 3 4 5

在这里插入图片描述


1.分析问题

  1. 已知:一个整数 n 和一个m大小有序数列。
  2. 未知:新的数列(在原数列中插入n后)。
  3. 关系: 整数 n 插入到数列,数列仍然从小到大排列。

2.定义变量

  • n:待插入的整数。
  • m:数组的原始长度。
  • a[1010]:一个大小为1010的数组,用来存储原始的数组元素和即将插入的整数。
  • idx:插入点的索引,初始化为0。
    int n, m, a[1010], idx = 0;

3.输入数据

  • 读取待插入的整数n和数组的原始长度m。
    cin >> n;cin >> m;
  • 首先读取数组的元素,然后检查每个元素是否小于n。如果是,则更新idx为当前元素的下一个位置的索引,这样idx最终将指向第一个大于或等于n的元素的位置,或者在所有元素都小于n的情况下,指向数组的末尾。
    for(int i = 0; i < m; i++){cin >> a[i];if(a[i] < n){idx = i + 1;}}

4.数据计算

  • 将数组中从idx开始的所有元素向后移动一个位置,为插入n腾出空间。然后在idx位置插入n。
    for(int i = m; i > idx; i--){a[i] = a[i-1];}a[idx] = n;

5.输出结果

  • 输出更新后的数组,包括新插入的元素n。
    for(int i = 0; i <= m; i++){cout << a[i] << " ";}

完整代码如下:

#include<bits/stdc++.h> // 引入C++标准库中的所有头文件
using namespace std; // 使用标准命名空间int main(){// 一、分析问题// 已知:一个整数 n 和一个m大小有序数列。// 未知:新的数列(在原数列中插入n后)。// 关系: 整数 n 插入到数列,数列仍然从小到大排列。// 二、定义变量(已知、未知、关系)int n, m, a[1010]; // 定义整数n,数列长度m,和最多可包含1010个元素的数组aint idx = 0;       // 定义idx作为插入点的索引// 三、输入已知cin >> n;          // 输入要插入的整数ncin >> m;          // 输入数列的长度mfor(int i = 0; i < m; i++){cin >> a[i];   // 输入数列的每个元素if(a[i] < n){  // 检查当前元素是否小于nidx = i + 1; // 如果是,更新插入点的索引}}// 四、根据关系计算for(int i = m; i > idx; i--){ // 从数列的末尾开始,将所有元素向后移动一位,直到idxa[i] = a[i-1];            // 将第i-1个元素复制到第i个位置}a[idx] = n;                  // 在找到的插入点idx处插入n// 五、输出未知for(int i = 0; i <= m; i++){ // 输出更新后的数列cout << a[i] << " ";     // 注意:这里i <= m是因为数组大小增加了1}return 0;                    // 正常退出程序
}

问题:1159. 数组元素的移动

类型:数组元素移动


题目描述:

数组元素的移动,把数组的第 x 个位置的元素先保存起来,然后把 x+1 到 n 的元素,依次往前移一位,最后原来的第 x 个位置的元素放在最后。

输入:

有 3 行

第一行有一个整数 n (n≤10 );

第二行有 n 个整数;

第三行有一个整数 x 。

输出:

移动后的数组。

样例:

输入:

8
1 2 3 4 5 6 7 8
1

输出:

2 3 4 5 6 7 8 1

在这里插入图片描述


1.分析问题

  1. 已知:一个n大小的数组,x坐标。
  2. 未知:移动后的数组。
  3. 关系: 把数组的第 x 个位置的元素先保存起来,然后把 x+1 到 n 的元素,依次往前移一位,最后原来的第 x 个位置的元素放在最后。

2.定义变量

  • n:数组的长度。
  • a[20]:数组,用于存储n个整数。
  • x:需要移动的元素的索引位置。
	//二、定义变量(已知、未知、关系) int n,a[20],x;

3.输入数据

  • 首先读取数组的长度n。
  • 然后读取n个数组元素。
  • 最后读取要移动的元素的索引x。
	//三、输入已知cin>>n;for(int i=0;i<n;i++){cin>>a[i];}cin>>x;

4.数据计算

  • 将x减1,因为数组索引是从0开始的。
  • 保存第x个位置的元素到临时变量t中。
  • 从x开始,将x+1到n-1的每个元素向前移动一位,覆盖原来的位置。
  • 将原先的第x个元素(保存在t中)放到数组的末尾。
	//四、根据关系计算--x;int t=a[x];for(int i=x;i<n-1;i++){a[i]=a[i+1];}a[n-1]=t;

5.输出结果

  • 打印更新后的数组。
	//五、输出未知 for(int i=0;i<n;i++){cout<<a[i]<<" ";}

完整代码如下:

#include<bits/stdc++.h> // 包含C++标准库中的所有头文件
using namespace std; // 使用std命名空间中的所有元素int main(){// 一、分析问题// 已知:一个大小为n的数组和一个坐标x。// 未知:移动元素后的数组。// 关系:将数组的第x个位置的元素移到数组的末尾,同时保持其他元素的相对顺序不变。// 二、定义变量int n; // 数组的长度int a[20]; // 数组,最多可容纳20个整数int x; // 需要移动的元素的索引位置// 三、输入已知数据cin >> n; // 输入数组的长度for(int i = 0; i < n; i++){cin >> a[i]; // 输入数组的每个元素}cin >> x; // 输入要移动的元素的索引位置// 四、根据关系计算--x; // 调整x为基于0的索引int t = a[x]; // 保存要移动的元素for(int i = x; i < n - 1; i++){ // 移动元素a[i] = a[i + 1]; // 将后面的元素移动到当前位置}a[n - 1] = t; // 将原先的元素放到数组的末尾// 五、输出未知数据for(int i = 0; i < n; i++){cout << a[i] << " "; // 输出更新后的数组}return 0; // 返回0,表示程序正常结束
}

三、感谢

如若本文对您的学习或工作有所启发和帮助,恳请您给予宝贵的支持——轻轻一点,为文章点赞;若觉得内容值得分享给更多朋友,欢迎转发扩散;若认为此篇内容具有长期参考价值,敬请收藏以便随时查阅。

每一次您的点赞、分享与收藏,都是对我持续创作和分享的热情鼓励,也是推动我不断提供更多高质量内容的动力源泉。期待我们在下一篇文章中再次相遇,共同攀登知识的高峰!

在这里插入图片描述

http://www.ds6.com.cn/news/74620.html

相关文章:

  • 佛山营销网站建设费用蜂蜜网络营销推广方案
  • 相亲网站上做绿叶的女人很多个人网站源码免费下载
  • 商丘网站建设哪家好大兴今日头条新闻
  • 中级经济师考试时间南昌seo推广公司
  • wordpress功能解释网站优化排名易下拉稳定
  • asp动态网站开发视频教程关键词查询工具免费
  • 谷歌做新媒体运营的网站app开发定制
  • wordpress 整站语言哈尔滨优化网站公司
  • 淄博外贸网站制作谷歌搜索为什么用不了
  • 外贸平台网站有哪些建站系统
  • 电商网站开发 思维导图java培训学费多少钱
  • 昆明网站做的好的公司电商项目策划书
  • 贵阳网站托管北京seo实战培训班
  • 网站建设管理总结北京最新疫情最新消息
  • 如何选择常州网站建设廊坊百度快照优化
  • 万户做网站怎么样比较正规的代运营
  • 定兴网站建设深圳最新政策消息
  • 浏览器一打开就是2345网址导航网站优化关键词公司
  • 诸暨住房和城乡建设委员会网站湖南网站建设推广优化
  • 网站制作详情搜外seo
  • 亚马逊雨林破坏现状购买seo关键词排名优化官网
  • 网站城市切换代码seo的中文含义是
  • 做网站需要资质站长工具国色天香
  • 公司网站建设费用估计推广普通话手抄报简单又好看内容
  • 手机好看网站模板流量网站
  • 怎样免费做公司网站黑马培训是正规学校吗
  • 陕西省交通建设集团公司门户网站网站运营与维护
  • nodejs做视频网站济南最新消息
  • 常州网站建设网站seo优化快速排名技术
  • 江津做网站2023年重大时政热点