黑马程序员技术交流社区

标题: 记录——数组元素逆序 [打印本页]

作者: 迷路的小孩儿    时间: 2015-7-14 14:02
标题: 记录——数组元素逆序
  1. /*
  2. 需求:数组元素逆序 (就是把元素对调)

  3. 分析:
  4. A:定义一个数组,并进行静态初始化值
  5. B:数组第一位和数组最后一位对调,即:
  6. 0索引和arr.length-1索引的数对调
  7. 1索引和arr.length-1-1索引的对调
  8. 2索引和arr.length-1-2索引的对调
  9. ......
  10. 注意:对调,只需要对调到arr.length/2 的时候即可

  11. */

  12. class FunctionDemo {
  13. public static void main(String[] args) {
  14. /*
  15. //定义一个数组,并进行静态初始化值
  16. int [] arr = {1,3,4,6,7,8,};
  17. //第一个数对调:
  18. int temp=arr [arr.length-1];
  19. arr [arr.length-1] =arr [0];
  20. arr [0] =temp;
  21. //第二个数对调:
  22. int temp1=arr [arr.length-1-1];
  23. arr [arr.length-1-1] =arr [1];
  24. arr [1] =temp;
  25. */
  26. int [] arr = {1,3,4,6,7,8,};
  27. //调用
  28. reverse (arr);
  29. array (arr);
  30. }
  31. //用方法实现:
  32. //两个明确:
  33. //返回值类型:void
  34. //参数列表:int [] arr
  35. public static void reverse (int [] arr) {
  36. for (int x=0;x<arr.length/2;x++) {
  37. int temp=arr [arr.length-1-x];
  38. arr [arr.length-1-x] =arr [x];
  39. arr [x] =temp;
  40. }
  41. }

  42. //因为对调之后想要打印出来,需要遍历数组:
  43. public static void array (int [] arr) {
  44. for (int y =0;y<arr.length;y++) {
  45. System.out.println(arr [y]);
  46. }
  47. }



  48. }
复制代码


作者: 迷路的小孩儿    时间: 2015-7-14 14:14
第二种思路:
  1. class FunctionDemo {
  2.         public static void main(String[] args) {
  3.                 int [] arr = {1,3,4,6,7,8,};
  4.                 //调用
  5.                 reverse (arr);
  6.                 array (arr);
  7.         }
  8.                 public static void reverse(int [] arr) {
  9.                         for (int start =0,end =arr.length-1;start<=end;start++,end--) {
  10.                                 int temp=arr [start];
  11.                                 arr [start] =arr [end];
  12.                                 arr [end] =temp;
  13.                         }       
  14.                 }

  15.                 //因为对调之后想要打印出来,需要遍历数组:
  16.                 public static void array (int [] arr) {
  17.                         for (int y =0;y<arr.length;y++) {
  18.                                 System.out.println(arr [y]);
  19.                         }
  20.                 }
  21. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2