一维数组倒序的几种思路
思路一:数组倒序输出。
思路二:定义一个新数组,倒序赋值。
思路三:交换前后两个数。
思路一:数组倒序输出
/int[]nums={1,2,3,4,5}; For(int i= nums.length-1;i >= 0;i- -) Printf(“%d”,a[i]);/
思路分析:对于一个给定长度与数组值的数组,实现其倒序输出只需利用循环将最大数组下标依次递减输出即可。
思路二:定义一个新数组,倒序赋值
/*int[]nums = {1,2,3,4,5};
Int[]newnums = new int[nums.length]; For(int i= 0; i< nums.length ; i++)
{ int temp = nums[i]; Nums[i] = nums[nums.length – 1 - i] Nums[nums.length -1 -i] = temp;}
System.out.printfln(arrays.tostring(nums));System.out.printfln(arrays.tostring(newnums));
*/思路分析:为了实现已知数组倒序,可以定义一个新数组,将已知数组下标对应的数值倒序存入新数组,再将新数组顺序输出,这样就实现了已知数组的倒序输出。
思路三:交换前后两个数
/int[] nums = {1,2,3,4,5}
For(int i= 0 ; i< nums.length / 2 ; i++)
{ int temp = nums[i]; Nums[i] = nums[nums.length – 1 -i];nums[nums.length – 1 -i] = temp ; } System.out.printfln(arrays.tostring(nums));/
思路分析:思路分析:
用第一个与最后一个交换。
第二个与倒数第二个交换
第三个与倒数第三个交换
一直到中间的那个数为止
(如果是偶数个,那么刚好就交换完毕; 如果是奇数个, 中间那个数则可以不动它)
总结:1、利用思路一解决对于给定长度与数组值的数组,只需从后往前遍历,依次输出。无疑是倒序输出最快捷简单的方法。但其缺点在于适用范围小,不具有一般性。
2、思路二属于创新型方法,定义一个新数组,利用新数组实现已知数组的倒序输出。具有一般性,但缺点在于代码丢失了简洁性。
3、思路三属于数组倒序最经典的方法,具有普遍适用性,融入数组思维,做题时建议适用思路三,做到深刻理解并且能够运用自如
一维数组倒序的几种思路相关推荐
- java怎么定义一维数组_Java定义一个一维数组有哪几种方法
展开全部 首先: 一维62616964757a686964616fe59b9ee7ad9431333366306432数组的声明 ; 代码如下int[] ary1; //Java推荐的数组声明方式 i ...
- 一维数组简介及三种排序方法
数组简介: 数组是用来存储数据的集合,但是,通常我们会把数组看作一个存储具有相同类型 的变量集合会更有用.无须声明单个变量,例如:number0, number1,-,number99, 只要声明一个 ...
- 利用一维数组倒序输出
#include<iostream> using namespace std; #define NUM 5 int A[NUM];//数组一般不存储到main内部 int main(){f ...
- 【java进阶06:数组】使用一维数组模拟栈数据结构 使用二维数组模拟酒店,酒店管理系统 Arrays工具类 冒泡排序算法、选择排序算法、二分法
目录 数组 二维数组 总结 作业 Arrays工具类 数组 数组总结 及 静态初始化一维数组 /* Array:1.java语言中的数组是一种引用数据类型,不属于基本数据类型,数组的父类是Object ...
- C++阶段01笔记05【数组(概述、一维数组、二维数组)】
C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 5 数组 5.1 概述 5.2 一维数组 5.2.1 一维数组定义方式 --示例 5.2.2 一维数组数组名 --示例 --练习 ...
- python 一题多解 —— ndarray 一维数组的拼接
一维数组拼接的四种方式: np.r_[a, a], np.stack([a, a]).reshape(-1), 底层会调用 np.concatenate np.hstack([a, a]), 底层会调 ...
- C语言:一维数组—一个萝卜一个坑问题
一维数组逻辑挑战-一个萝卜一个坑问题 从键盘输入0-9的五个数,然后输出0-9中那些没有出现过的数 一维数组初始化的两种方式: 1: for (i = 0; i < 10; i++) { a[i ...
- 一维数组的创建及使用
数组是具有相同类型的一组数据的集合.例如,球类的集合--足球.篮球.乒乓球等:在程序设计中,可以将这些集合称之为数组.数组中的每个元素具有相同的数据类型.在Java中同样将数组看做是一个对象,虽然基本 ...
- 两种思路将Python中两个有序数组合并为一个有序数组
第一种思路: 把两个数组合为一个数组然后再排序,问题又回归到冒泡和快排了,没有用到两个数组的有序性. 第二种思路: 循环比较两个有序数组头位元素的大小,并把头元素放到新数组中,从老数组中删掉,直到其中 ...
最新文章
- linux中各种文件的颜色表示是什么意思?
- 给妹子讲python-S01E19解析Python内嵌作用域与函数闭包
- access窗体中再制作查询窗体_如何给java窗体添加下拉菜单项,以选择游戏难度为例 - 攻向前端的小白...
- PCB的阻抗控制与前端仿真(SI9000的应用)(Z)
- Uploadify 3.2 参数属性、事件、方法函数详解以及配置
- 多媒体计算机技术未来的发展方向,多媒体技术的发展现状及未来
- 临床试验中edc录入_一文了解EDC临床试验数据采集系统
- My Visual DataBase(数据库编程软件)v5.3免费版
- 怎么把两个PDF文件合并一起
- GOOGLE 人机验证(RECAPTCHA)无法显示解决方案(可解决大多数 CSP 问题)
- 小白也能看懂的 Web 前端入门文章(一个浏览器的自白)
- A/D转换器(ADC)
- 淘宝天猫京东拼多多等平台关键词监控价格API接口(店铺商品价格监控API接口代码对接展示)
- 在马斯克收购推特之际,为什么去中心化社交网络代表着必然的历史趋势?
- dom更新到底在javascript事件循环的哪个阶段?「前端每日一题v22.11.17」
- 闲人闲谈PS之十一——WBS-BOM的用法
- AudioStreamBasicDescription: 2 ch, 44100 Hz, ‘lpcm’ (0x00000C2C) 8.24-bit little
- RBAC新解:基于资源的权限管理(Resource-Based Access Control)
- app运行时签名校验
- 完美Crack:Froala Editor 4.0.16 Patch