21xrx.com
2025-03-22 10:50:04 Saturday
文章检索 我的文章 写文章
我在学习Java数组的时候
2023-06-14 13:34:25 深夜i     9     0

我在学习Java数组的时候,遇到了一个小问题:如何把数组中的最小值和第一个数交换。在这里,我分享一下我的解决方案。

首先,我们可以通过遍历数组来找到最小值:

int[] arr = 3;
int min = arr[0]; // 先假设第一个数是最小值
for (int i = 1; i < arr.length; i++) {
  if (arr[i] < min) {
    min = arr[i];
  }
}

有了最小值之后,我们需要找到它所在的位置。这可以通过再次遍历数组来实现:

int minIndex = 0; // 最小值的索引
for (int i = 1; i < arr.length; i++) {
  if (arr[i] < arr[minIndex])
    minIndex = i;
  
}

接下来,我们将最小值和第一个数进行交换:

int temp = arr[0];
arr[0] = arr[minIndex];
arr[minIndex] = temp;

最后我们来看一下完整的代码:

public static void main(String[] args) {
  int[] arr = 5;
  int min = arr[0]; // 先假设第一个数是最小值
  for (int i = 1; i < arr.length; i++) {
    if (arr[i] < min) {
      min = arr[i];
    }
  }
  int minIndex = 0; // 最小值的索引
  for (int i = 1; i < arr.length; i++) {
    if (arr[i] < arr[minIndex])
      minIndex = i;
    
  }
  int temp = arr[0];
  arr[0] = arr[minIndex];
  arr[minIndex] = temp;
  System.out.println(Arrays.toString(arr)); // 输出 [2, 5, 8, 3, 6]
}

这样,我们就成功地将Java数组中的最小值和第一个数进行了交换,让数组中的数据更加合理地排列起来了。

  
  

评论区

请求出错了