2020年11月25日星期三

07-数组的反序

数组的反序

准备工作

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分析工具推出
名人蜡像馆在台州哪里?台州名人蜡像馆在哪里?:名人蜡像馆在台州哪里?台州名人蜡像馆在哪里?
兰欧酒店助跑马拉松,开"颜值加油站"大受欢迎:兰欧酒店助跑马拉松,开"颜值加油站"大受欢迎

没有评论:

发表评论