4.数组、排序、查找
AI-摘要
Tianli GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
4.数组、排序、查找
Pupper一、数组 [ ]
数组:可以存放多个同一类型的数据
数组的下标从 0 开始
1. 动态初始化 - 确定元素数量
方式 1
1 | 数组类型 数组名[] = new 数组类型[大小] |
方式 2
1 | 数组类型 数组名[]; 或 数组类型[] 数组名; |
2.静态初始化 - 不确定元素数量
1 | 数据类型 数组名[] = {元素,元素,元素...} |
:::warning
- 数组是多个相同类型的数据组合,不同类型的数据不能放到同一数组中
- 数组创建后,如果没有赋值,则默认值为 byte、short、int、long 为 0,float、double 为 0.0,char 为\u0000, boolean 为 false, String 为 null
- 数组的下标从 0 开始
- 不同类型存放时需要遵循 数据自动类型转换 规则
:::3. 数组拷贝
1
2
3
4
5int a = 10;
int b = a;
b = 80;
// a 等于 10, b 等于 80:::danger1
2
3
4
5int a[] = {1,2,3};
int b[] = a;
b[0] = 10;
// a 等于 {10,2,3}, b 等于 {10,2,3}
值拷贝不会改变原来的数据,引用赋值会改变原始数据,赋值实际上是原始数据的内存地址;
如果需要得到不影响原始数据的数组,可以通过遍历获取新的数组
:::1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17public class demo01{
public static void main(String[] args) {
int arr1[] = {1,2,3};
int arr2[] = new int[arr1.length];
// 重新给 arr2 赋值
for(int i = 0; i< arr1.length; i++){
arr2[i] = arr1[i];
}
arr2[0] = 999;
for (int i = 0; i<arr2.length; i++) {
System.out.println(arr2[i]);
System.out.println(arr1[i]);
}
}
}4.数组反转
1
2
3
4
5
6
7
8
9
10
11
12
13
14public class demo01{
public static void main(String[] args) {
int arr1[] = {11,22,33,44,55,66};
int num = arr1.length;
for (int i = 0; i< num/2; i++ ) {
int temp = arr1[i];
arr1[i] = arr1[num-1-i];
arr1[num-1-i] = temp;
}
for (int i = 0; i<=arr1.length-1; i++ ) {
System.out.println(arr1[i]);
}
}
}5.数组添加
1
2
3
4
5
6
7
8
9
10
11
12
13public class demo01{
public static void main(String[] args) {
int arr1[] = {1,2,3};
int arr2[] = new int[arr1.length + 1];
for (int i = 0; i< arr1.length;i++ ) {
arr2[i] = arr1[i];
}
arr2[arr2.length -1] = 4;
for (int i = 0; i< arr2.length;i++ ) {
System.out.print(arr2[i] + " ");
}
}
}二、排序
排序: 将多个数据,依指定的顺序进行排序的过程
:::tip
- 内部排序
- 将需要处理的数据加载到内存中进行排序
- 交换式排序、选择排序、插入式排序
- 外部排序
- 数据量过大,需要借助外部存储进行排序
- 合并排序,直接合并排序
:::
1 | public class demo01{ |
三、查找
1.按顺序查找
1 | import java.util.Scanner; |
2.二分法查找
1 | /** |
四、二维数组
1 | 类型[][] 数组名 = new 类型[大小][大小] |
1 | public class demo01{ |
1 | public class demo01{ |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果