程序 35 最大最小交换

Posted on 2018-08-12 00:24  豆豆2018  阅读(164)  评论(0编辑  收藏  举报

2018-08-12

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

 1 package SuanFa;
 2 
 3 import java.util.Arrays;
 4 
 5 public class Demo35 {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         //题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
10         function();
11     }
12     public static void function() {
13         //我们分别找出最大,最小的值,然后放在数组的头和尾
14         int[] array={3,2,6,7,8,59,44,22};
15         int max=array[0];
16         int max_temp=0;
17         int min=array[0];
18         int min_temp=0;
19         int len=array.length-1;
20         System.out.println("原数组为:");
21         System.out.println(Arrays.toString(array));
22         for (int i = 0; i < array.length; i++) {
23             if (max<array[i]) {
24                 max=array[i];//max记录最大的值
25                 max_temp=i;//记录最大值的原来索引
26                 //System.out.print(max+" ");
27             }
28             if (min>array[i]) {
29                 min=array[i];//min 记录最小的值
30                 min_temp=i;//记录最小值对应的索引
31             }
32             
33             
34         }
35         //把对应位置的值交换位置
36         array[max_temp]=array[0];
37         array[0]=max;
38         
39         array[min_temp]=array[len];
40         array[len]=min;
41         
42         System.out.println("交换后数组为:");
43         System.out.println(Arrays.toString(array));
44         
45     }
46 
47 }

 

原数组为:
[3, 2, 6, 7, 8, 59, 44, 22]
交换后数组为:
[59, 22, 6, 7, 8, 3, 44, 2]