升序
引入一个工具
知识
如何导入工具类
import 工具类的路径
例子
import java.util.Arrays;
使用工具
sort方法
功能
帮我们把数组进行升序,由小到大
会影响数组内部的结构
用法
Arrays.sort(数组);
参考代码
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] nums = new int[]{2,5,3,2,6};
Arrays.sort(nums);
for(int i=0;i<nums.length;i++){
System.out.println(nums[i]);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
交换两个变量
使用第三个变量
代码
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int a = 11;
int b = 22;
int temp;
System.out.println("数据交换前a与b的值" + a + "---" + b);
// 让临时的变量接收一个数据
temp = b;
b = a;
a = temp;
// 数据交换成功
System.out.println("数据交换后a与b的值" + a + "---" + b);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
核心代码
temp = b;
b = a;
a = temp;
1
2
3
4
不允许使用第三个变量
核心代码
a=a+b;
b=a-b;
a=a-b;
1
2
3
4
逆序
光标移动的最大下标算法
数组会在哪里停下,取决于数组的长度。
如果数组的长度是n,那么
下标不会走到n/2
算法代码
public class Test {
public static void main(String[] args) {
// 初始化一个数组
String[] strList = {“a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”};
// 遍历时遇到哪个索引会停止的算法: 数组的长度除2取整
int topIdx = strList.length / 2;
// 开始遍历,让下标从0开始游走
for (int i = 0; i < topIdx; i++) {
// 把下标所在的值交给临时变量
String temp = strList[i];
// 获得交换索引值,计算出要与哪个索引进行数据交换
int changeIndex = strList.length - 1 - i;
// 把交换索引值,对应的数据赋值给当前光标所在空间
strList[i] = strList[changeIndex];
// 把临时变量的值,赋值给交换索引的值
strList[changeIndex] = temp;
}
// 遍历数组,查看排序后的效果
for (int j = 0; j < strList.length; j++) {
System.out.print(strList[j]);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
求最大值
算法
来一个临时变量
让数组成员的值与临时变量比较
谁大,就把谁的值赋给临时变量