数组的反序
准备工作
public class InvertedSequence { public static void main(String[] args) { //inverted sequence是反序的意思 int[] a={2,77,-4,6,11}; System.out.println("原数组如下所示:"); for (int i = 0; i < a.length; i++) { System.out.print(a[i]+"\t"); } System.out.println();//换行 }}
A.数组的反序输出
1.思路分析:
思路:把数组从最后一个位置开始遍历输出即可
2.核心代码
System.out.println("数组的反序输出(以奇数个数据为例)如下所示:"); for (int i = a.length-1; i >=0; i--) { //注意:数组的最后一个位置为数组长度-1,因为数组的下标是从0开始的 System.out.print(a[i]+"\t"); }
3.运行截图
B.原数组变成反序后的数组
1.思路分析:
//分析:第一次拿第一个与最后一个交换,第二次拿第二个与倒数第二个交换
// 依次类推下去,即第i个元素与第a.length-1-i个元素互换
// 原数组就可以反序了,
// 那交换次数又怎么得到呢?
// 当数组长度为3时,交换次数很显然为1次,当数组长度为4时,交换次数为2
// 当数组长度为1时,交换次数很显然为0次;
// 当数组长度为5时,交换次数很显然为2次,当数组长度为6时,交换次数为3
// 由上面可以推出:无论数组长度是奇数还是偶数,它的交换的次数都是数组长度/2
// 注意:整形数据进行/运算会自动舍弃小数
//思路为:设置一个循环,初始为0,循环次数为数组长度/2,
// 循环体里面的内容是进行第i个元素与第a.length-1-i的互换
2.核心代码:
for (int i = 0; i < a.length/2; i++) { int temp=a[i];//temp定义在里面的好处是生命周期短一些,然后能及时被gc机制处理 a[i]=a[a.length-1-i]; a[a.length-1-i]=temp; } System.out.println("反序后的数组(以奇数个数据为例)如下所示:"); for (int i = 0; i < a.length; i++) { System.out.print(a[i]+"\t"); }
3.运行截图
原文转载:http://www.shaoqun.com/a/493041.html
002315焦点科技:https://www.ikjzd.com/w/1831
primc:https://www.ikjzd.com/w/129
custommade:https://www.ikjzd.com/w/2514
数组的反序准备工作publicclassInvertedSequence{publicstaticvoidmain(String[]args){//invertedsequence是反序的意思int[]a={2,77,-4,6,11};System.out.println("原数组如下所示:");for(inti=0;i<a.length;i++){System.out.
海淘贝:海淘贝
知无不言:知无不言
亚马逊开通旺季deal申报 / Amazon Attribution分析工具推出:亚马逊开通旺季deal申报 / Amazon Attribution分析工具推出
名人蜡像馆在台州哪里?台州名人蜡像馆在哪里?:名人蜡像馆在台州哪里?台州名人蜡像馆在哪里?
兰欧酒店助跑马拉松,开"颜值加油站"大受欢迎:兰欧酒店助跑马拉松,开"颜值加油站"大受欢迎
No comments:
Post a Comment