本節(jié)主要內(nèi)容:
1:數(shù)組反轉(zhuǎn)
2:本節(jié)總結(jié)&下節(jié)預(yù)告
本文出處:《凱哥陪你學(xué)系列之java基礎(chǔ)篇.Java基本語法篇》中第28篇 數(shù)組7 數(shù)組操作3-數(shù)組反轉(zhuǎn)
數(shù)組反轉(zhuǎn)思路:
如下內(nèi)存中數(shù)組:
反轉(zhuǎn)后:
我們經(jīng)過手動(dòng)反轉(zhuǎn)后,發(fā)現(xiàn)數(shù)組長(zhǎng)度為6笛洛,總共需要3次操作。數(shù)組長(zhǎng)度為7也是需要操作3次(中間數(shù)也就是第四個(gè)不用處理。)。
我們知道赊淑,數(shù)組長(zhǎng)度/2 就是需要操作的次數(shù)茫藏。
現(xiàn)在已知道:
1:數(shù)組(數(shù)組大小)
2:操作次數(shù)(循環(huán)次數(shù))=數(shù)組長(zhǎng)度/2
思考:反正?怎么來反正屉来?用代碼怎么實(shí)現(xiàn)?
分析:
其實(shí)就是第一位和最后一位狈癞、第二位和倒數(shù)第二位進(jìn)行交換茄靠。
找規(guī)律。
代碼截圖:
獲取數(shù)組內(nèi)容:
運(yùn)行結(jié)果:
完整代碼:
public class DemoArr7 {
public static void main(String[] args) {
int [] arr = new int [] {22,25,38,99,10,52};
//對(duì)數(shù)組進(jìn)行反轉(zhuǎn)
reverseArray(arr);
//對(duì)數(shù)組進(jìn)行變量
printArr(arr);
}
/**
* 數(shù)組元素反轉(zhuǎn)
* 1:返回類型 ?void
* 2:參數(shù)列表 arr
*/
public static void reverseArray(int[] arr) {
for (int i = 0; i < arr.length/2; i++) {
//arr[0] 和 arr[arr.length-1-0]進(jìn)行交換
//arr[1] 和 arr[arr.length-1-1]進(jìn)行交換
//arr[2] 和 arr[arr.length-1-2]進(jìn)行交換
int tmep= arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i]= tmep;
}
}
public static void printArr(int [] arr){
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] +" ");
}
}
}
本節(jié)總結(jié):
通過本節(jié)學(xué)習(xí)蝶桶,需要掌握的:
1:反轉(zhuǎn)的思路
2:怎么反轉(zhuǎn)數(shù)組中的數(shù)據(jù)
下節(jié)預(yù)告:
通過前面幾節(jié)的學(xué)習(xí)我們已經(jīng)會(huì)定義數(shù)組慨绳、獲取數(shù)組中所有數(shù)據(jù)/最值以及將數(shù)組中數(shù)據(jù)反轉(zhuǎn)獲取了。那么真竖,給你一個(gè)數(shù)字儡蔓,獲取該數(shù)字在數(shù)組中的位置或是給你一個(gè)位置獲取數(shù)組中對(duì)應(yīng)該位置的數(shù)字怎么操作?請(qǐng)繼續(xù)學(xué)習(xí)下一篇《從零學(xué)java筆錄-第29篇 數(shù)組8 數(shù)組操作4-查表法和基本查找》
歡迎關(guān)注凱哥公眾號(hào):凱哥Java
歡迎移步到凱哥個(gè)人網(wǎng)站:www.kaigejava.com
本文在凱哥個(gè)人網(wǎng)站地址:從零學(xué)java筆錄-第28篇 數(shù)組7 數(shù)組操作3-數(shù)組反轉(zhuǎn)