美文网首页
二、数组

二、数组

作者: 圣贤与无赖 | 来源:发表于2018-08-19 19:36 被阅读6次

一、定义打印数组元素方法,按照给定的格式打印[11, 33, 44, 22, 55]

题目分析:

       通过观察发现,本题目要实现按照指定格式,打印数组元素操作

1.通过循环,我们可以完成数组中元素的获取,数组名[索引]

2.观察发现,每个数组元素之间加入了一个逗号”,”进行分隔;并且,整个数组的前后有一对中括号”[]”包裹数组所有元素。

解题步骤:

1.使用输出语句完成打印 左边的中括号”[”

2.使用循环,输出数组元素值。输出元素值分为两种情况,如下:

    最后一个数组元素,加上一个右边的中括号”]”

    非最后一个数组元素,加上一个逗号”,”

代码如下:

//打印数组

public static void printArray(int[] arr) {

   System.out.print("[");

   for (int i = 0; i < arr.length; i++) {

      if (i == arr.length - 1) {

        System.out.println(arr[i]+"]");

      }else {

        System.out.print(arr[i]+",

");

      }

   }

}

二、数组元素逆序存储

题目分析:

       通过观察发现,本题目要实现原数组元素倒序存放操作。即原数组存储元素为{11,22,33,44},逆序后为原数组存储元素变为{44,33,22,11}。

1.通过图解发现,想完成数组元素逆序,其实就是把数组中索引为start与end的元素进行互换。

2.每次互换后,start索引位置后移,end索引位置前移,再进行互换

3.直到start位置超越了end位置,互换结束,此时,数组元素逆序完成。

解题步骤:

1.定义两个索引变量start值为0,变量end值为数组长度减去1(即数组最后一个元素索引)

2.使用循环,完成数组索引start位置元素与end位置元素值互换。

3.在循环换过程中,每次互换结束后,start位置后移1,end位置前移1

4.在循环换过程中,最先判断start位置是否超越了end位置,若已超越,则跳出循环

代码如下:

//数组元素逆序

public static void receive(int[] arr){

   for (int start = 0, end = arr.length-1; start < end; start++,end--) {

      int temp = arr[start];

      arr[start] = arr[end];

      arr[end] = temp;

   }

}

三、数组元素查找索引位

题目分析:

       通过观察发现,本题目要实现查找指定数值第一次在数组中存储的位置(索引),返回该位置(索引)。

1.我们可以通过遍历数组,得到每个数组元素的值

2.在遍历数组过程中,使用当前数组元素值与要查找的数值进行对比

    a)数值相等,返回当前数组元素值的索引

    b) 整个循环结束后,比对结果数值没有相等的情况,说明该数组中没有存储要查找的数值,此时,返回一个索引值-1,来表示没有查询到对应的位置。(使用 -1来表示没有查询到,是因为数组的索引没有负数)

解题步骤:

1.使用for循环,遍历数组,得到每个数组元素值

2.在每次循环中,使用if条件语句进行当前数组元素值与要查找的数值进行对比,若比较结果相等,直接返回当前数组元素的索引值

3.若整个循环结束后,比对结果数值没有相等的情况,说明该数组中没有存储要查找的数值,此时,返回一个索引值-1

public static int getArrayIndex(int[] arr, int number) {

   //定义index变量,记录要返回的索引的位置

   int index = -1;

   //把数组中的元素依次与指定的数值 进行比较

   for (int i = 0; i < arr.length; i++) {

      if (arr[i] == number) {

        //找到了

        index = i;

        break;

      }

   }

   return index;

}

相关文章

网友评论

      本文标题:二、数组

      本文链接:https://www.haomeiwen.com/subject/tsfhiftx.html