如何在 Java 中交換兩個陣列元素


陣列是一種線性資料結構,其中元素儲存在連續的記憶體位置。

根據問題陳述,我們必須將兩個陣列元素相互交換。用其他話說,交換兩個陣列元素也可以稱為互換或交換兩個元素。

讓我們探索這篇文章,看看如何使用 Java 程式語言來實現。

為您展示一些例項

例項 1

假設我們有以下陣列:[10, 2, 3, -5, 99, 12, 0, -1]

現在如果我們交換第 5 個和第 8 個元素,

那麼,我們將得到新的陣列 [10, 2, 3, -5, -1, 12, 0, 99]

例項 2

假設我們有以下陣列:[55, 10, 29, 74, 12, 45, 6, 5, 269]

現在如果我們交換第 4 個和第 8 個元素

那麼,我們將得到新的陣列 [55, 10, 29, 5, 12, 45, 6, 74, 269]

例項 3

假設我們有以下陣列:[556, 10, 259, 874, 123, 453, -96, -54, -2369]

現在如果我們交換第 2 個和第 6 個元素

那麼,我們將得到新的陣列 [556, 453, 259, 874, 123, 10, -96, -54, -2369]

演算法

演算法 1(使用第三個變數)

  • 步驟 1 - 儲存陣列後,取兩個索引來交換元素。

  • 步驟 2 - 將第一個元素儲存在一個臨時變數中。

  • 步驟 3 - 現在將第二個元素的值儲存在第一個元素中

  • 步驟 4 - 最後將臨時變數的值儲存在第二個元素中。

  • 步驟 5 - 列印陣列元素。

演算法 2(不使用第三個變數)

  • 步驟 1 - 儲存陣列後,取兩個索引來交換元素。

  • 步驟 2 - 將第一個和第二個元素相加,然後將其儲存在第一個元素中。

  • 步驟 3 - 從第一個元素中減去第二個元素,並將結果儲存在第二個元素中。

  • 步驟 4 - 再次從第一個元素中減去第二個元素,並將結果儲存在第一個元素中。

  • 步驟 5 - 列印陣列元素。

語法

要獲取陣列的長度(陣列中元素的數量),陣列有一個內建屬性,即length

以下是它的語法:

array.length

其中,“array”指的是陣列引用。

您可以使用 Arrays.sort() 方法將陣列按升序排序。

Arrays.sort(array_name);

多種方法

我們提供了不同方法的解決方案。

  • 使用第三個變數交換兩個陣列元素。

  • 不使用第三個變數交換兩個陣列元素。

讓我們逐一檢視程式及其輸出。

方法 1:使用第三個變數

在這種方法中,我們使用另一個變數來臨時儲存一個元素的值,從而交換陣列元素。

示例

import java.io.*;
import java.util.Arrays;
public class Main {
   public static void main(String[] args) {
      
      // The array elements
      int arr[] = { 10, 2, 3, -5, 99, 12, 0, -1 };
      
      // Print all array elements
      System.out.println("The array elements before swapping are-");
      for (int i : arr) {
         System.out.print(i + " ");
      }
      
      // We will be swapping 2nd index element with 4th index element
      int firstIndex = 2, secondIndex = 4;
      
      // Temp variable
      int temp = arr[firstIndex];
      
      // Swapping
      arr[firstIndex] = arr[secondIndex];
      arr[secondIndex] = temp;
      
      // Print all array elements
      System.out.println("\nThe array elements after swapping are-");
      for (int i : arr) {
         System.out.print(i + " ");
      }
   }
}

輸出

The array elements before swapping are-
10 2 3 -5 99 12 0 -1 
The array elements after swapping are-
10 2 99 -5 3 12 0 -1 

方法 2:不使用第三個變數

在這種方法中,我們不像先前的方法那樣使用另一個變數來交換陣列元素。

示例

import java.io.*;
import java.util.Arrays;
public class Main {
   public static void main(String[] args) {
      // The array elements
      int arr[] = { 10, 2, 3, -5, 99, 12, 0, -1 };
      
      // Print all array elements
      System.out.println("The array elements before swapping are-");
      for (int i : arr) {
         System.out.print(i + " ");
      }
      
      // We will be swapping 2nd index element with 4th index element
      int firstIndex = 2, secondIndex = 4;
      
      // Swapping array elements
      arr[firstIndex] = arr[firstIndex] + arr[secondIndex];
      arr[secondIndex] = arr[firstIndex] - arr[secondIndex];
      arr[firstIndex] = arr[firstIndex] - arr[secondIndex];
      
      // Print all array elements
      System.out.println("\nThe array elements after swapping are-");
      for (int i : arr) {
         System.out.print(i + " ");
      }
   }
}

輸出

The array elements before swapping are-
10 2 3 -5 99 12 0 -1 
The array elements after swapping are-
10 2 99 -5 3 12 0 -1 

在這篇文章中,我們探討了如何使用 Java 程式語言來交換兩個陣列元素。

更新於: 2023 年 1 月 31 日

15K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.