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.运行截图

(0)

相关推荐

  • 剑指offer之数组出现次数超过一半的数字

    剑指offer之数组出现次数超过一半的数字

  • 百度从Google学来的面试题,想进大厂必备!

    今天是小浩算法"365刷题计划"第59天.为大家分享一道FLAG和BAT都出现过的经典面试题.题目有一定难度,建议大家耐着性子看完!不要说没天赋看不懂.在这个浮躁到努力的人都很少的 ...

  • 09 插入排序

    思路分析: 核心思想为:把无序数组的第一个元素当成有序数组,每次往后面(第二个元素开始)拿一个元素,把它与有序数组重新排序成有序数组,直到拿到最后一个元素为止. 注意:升序就是假定有序数组为升序来求解 ...

  • 寻找两个有序数组的中位数

    问题描述给定两个大小为m和n的有序数组nums1和nums2,找出这两个有序数组的中位数.示例一:nums1=[1,3]nums2=[2]则中位数为2示例二:nums1=[1,2]nums2=[3,4 ...

  • java学习——27.字符串

    字符串是字符的有限序列. Java中的字符串String是一个类,属于引用数据类型. 今天介绍String中的一些概念和方法. 1.字符串常量 字符串常量是由双引号括起来表示的字符序列. 如:&quo ...

  • 06 如何在一个有序数组中插入一个数据并使新数组保持有序(默认升序)

    准备工作 import java.util.Scanner;public class TestClass01 { public static void main(String[] args) { // ...

  • 一维数组(八)

    一.概念 存储同一种数据类型的多个元素的容器 二.格式 1.数据类型[] 数据名;--int []a:定义一个int类型的数组a变量 2.数据类型 数据名[];--int a []:定义一个int类型 ...

  • 健身气功中的「反序运动」,强壮筋骨、聪慧增智

    什么是反序运动 反序运动,就是和日常生活中的行为相反的运动,比如倒立.爬行.倒行.赤足走等平时不太常做的运动.研究证明,它们都有很好的强身.健体.祛疾的功效. 其实,反序运动在我国古代早已有之:汉代华 ...

  • java对象的序列化与反序例化

    把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中: 2) 在网 ...

  • 健身气功中的「反序运动」,助你促进肠胃消化、强壮筋骨、聪慧增智

    原文|中国健身气功协会 作者|胡晓飞 张津铷 什么是反序运动 Health Qigong 反序运动,就是和日常生活中的行为相反的运动,比如倒立.爬行.倒行.赤足走等平时不太常做的运动.研究证明,它们都 ...

  • 健身气功中的反序运动

    一.什么是反序运动 反序运动是指包括倒立.爬行.倒行.赤足走等项目的运动,具有强身健体祛疾的功效,深受人们喜爱.反序运动在我国古代早有开展,如汉代华佗创编的"五禽戏".马王堆导引图 ...

  • Apache Shiro反序列化识别那些事

    1.1 关于Apache Shiro Apache shiro是一个Java安全框架,提供了认证.授权.加密和会话管理功能,为解决应⽤安全提供了相应的API: 1.认证-⽤用户身份识别,常被称为用户& ...

  • 四书反身录(07)论语反身录

    论语一书,夫子之语录也.开卷第一义首标学字,以为天下万世倡.由是愚以之明,塞以之通,不肖以之贤,犹鱼之于水,无一时一刻而可以离焉者也.离则人欲肆而天理灭,不可以为人矣. 夫学始于人心,关乎世运,治乱否 ...

  • 每日一题C++版(两种输入的反序)

    编程是很多偏计算机.人工智能领域必须掌握的一项技能,此编程能力在学习和工作中起着重要的作用.因此小白决定开辟一个新的板块"每日一题",通过每天一道编程题目来强化和锻炼自己的编程能力 ...

  • 每日一题C++版(句子反序)

    编程是很多偏计算机.人工智能领域必须掌握的一项技能,此编程能力在学习和工作中起着重要的作用.因此小白决定开辟一个新的板块"每日一题",通过每天一道编程题目来强化和锻炼自己的编程能力 ...

  • 零基础零代码一键完成双表对照查找正向反序查找vlookup

    VLOOKUP函数用于搜索指定区域内首列满足条件的元素,确定待检测单元格在区域中的行序号,再进一步返回选定单元格的值.这个函数很经典,使用频率也非常高.但很多零基础用户觉得这个公式太烦.VBA太难. ...