交換陣列中兩個元素的位置

2021-09-29 18:51:07 字數 1368 閱讀 7862

簡單的交換陣列中倆個元素的位置,交換後為.

同樣交換倆個數字,比如這樣的**

public

static

void

swap

(int a,

int b)

然後再列印的話,實際上是交換不了的。因為此時的 a, b只是形參,我們知道形參的改變不會影響實參的變化,因此交換不了。那麼為什麼陣列可以交換呢,讓我們來看一下。

public

static

void

swap

(int

arr,

int i,

int j)

public

static

void

main

(string[

] args)

; system.out.

println

(arrays.

tostring

(array));

swap

(array,0,

1); system.out.

println

(arrays.

tostring

(array));

}

在列印時,首先定義了乙個陣列,因此在棧中申請了乙個棧幀,此時的array是指向的。

第二次列印時,呼叫了swap方法,array此時還是指向,此時的下標為 0 和 1 ,然後arr[ i ] 的值賦給 t ,t 此時為8,arr[j] 的值賦給 arr[i],arr[i]的值此時為12,最後 t 的值賦給arr[i],此時arr[j]為8,這就完成了倆個值的交換。

最後完成交換之後,array這個棧幀就完成了他的任務,會被消亡移出棧,可以看到此時array指向的陣列變成了。

最後是編譯執行的乙個結果:

這樣,就簡單的完成了陣列中倆個元素值的交換。

同時,我們還需要記住形參的改變不會影響實參的改變這句話。

Python中交換兩個元素的方法

python既具有普通程式開發語言的特點,也具有matlab語言用於數值計算的特點,當然了數值計算是由其其強大的第三方庫numpy實現的,矩陣在python中資料型別是ndarray,python中交換兩個數值的 和交換同一矩陣 ndarray 中不同向量的寫法是不一樣的。以下是用python原生的...

lintcode 484 交換陣列兩個元素

給你乙個陣列和兩個索引,交換下標為這兩個索引的數字 樣例 1 1,2,3,4 index1 2,index2 3 交換後你的陣列應該是 1,2,4,3 不需要返回任何值,只要就地對陣列進行交換即可。樣例解釋 就地交換,不需要返回值 樣例 2 輸入 1,2,2,2 index1 0,index2 3 ...

Python中交換兩個元素的實現方法

python既具有普通程式開發語言的特點,也具有matlab語言用於數值計算的特點,當然了數值計算是由其其強大的第三方庫numpy實現的,矩陣在python中資料型別是ndarray,python中交換兩個數值的 和交換同一矩陣 ndarray 中不同向量的寫法是不一樣的。以下是用python原生的...