一、数组
数组是用来存储固定数量的同类型元素的一种数据结构,它是引用类型。
1、声明数组
//声明数组
int[] a1 = new int[5];
int[] a2 = {1, 2, 3};
String[] a3 = new String[5];
String[] a4 = {"ab", "cd", "1a"};
int a5[] = {1, 2, 3, 4, 5};//不建议使用
2、数组赋值
数组下标从零开始,下标就是元素在数组中的存储位置
//数组赋值
a1[0] = 1;
a3[1] = "11";
3、修改元素
//修改元素
a1[0] = 2;
4、获取长度
//获取数组长度(数组中可以存储的元素个数)
int len = a1.length;
//获取字符串长度
String str = "1234";
int slen = str.length();
5、数组遍历
//遍历数组
//for遍历
for (int i = 0; i < a1.length; i++) {
System.out.println(a1[i]);
}
//foreach遍历
for(int i : a1) {
System.out.println(i);
}
6、打印数组
//打印数组
System.out.println(Arrays.toString(a1));
[2, 0, 0, 0, 0]
二、排序法
1、冒泡排序
int[] a = {2, 3, 1, 5, 4};
for (int i = 0; i < a.length-1; i++) {
for (int j = 0; j < a.length-1-i; j++) {
if (a[j] > a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.println(Arrays.toString(a));
2、简单选择排序
int[] a = {2, 3, 1, 5, 4};
for(int i = 0; i < a.length-1; i++) {
int minindex = i;
for (int j = i+1; j < a.length; j++) {
if(a[minindex] > a[j]) {
minindex = j;
}
}
int temp = a[i];
a[i] = a[minindex];
a[minindex] = temp;
}
System.out.println(Arrays.toString(a));
3、直接插入排序
int[] a = {2, 3, 1, 5, 4};
for(int i = 0; i < a.length-1; i++) {
for (int j = i+1; j > 0; j--) {
if(a[j] < a[j-1]) {
int temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
}
System.out.println(Arrays.toString(a));