文章说明
本篇文章介绍如何使用【数组 】,仅是对自己学习的记录,并没有深入分析每个模块。感谢支持!
赋值
public static void main(String[] args) {
int[] array = new int[5];
//给数组赋值
for (int i = 0; i < array.length; i++) {
array[i] = i;
}
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
复制
array 数组元素 复制 给 array1 里
public static void main(String[] args) {
int[] array = new int[]{5, 6, 9};
int[] array1 = new int[array.length];
//进行复制 .....
for (int i = 0; i < array1.length; i++) {
array1[i] = array[i];
}
// 遍历输出 array1
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + "\t");
}
}
反转
public static void main(String[] args) {
int[] array = new int[]{20, 10, 50, 40};
//方法一:
for (int i = 0; i < array.length / 2; i++) {
int temp = array[i];
array[i] = array[array.length - i - 1];
array[array.length - i - 1] = temp;
//System.out.print(array[i]+"\t");
}
//方法二:
/*for (int i = 0, j = array.length - 1; i < j; i++, j--) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}*/
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + "\t");
}
}
查找
线性查找:
int[] array = new int[]{22, 55, 999, 20};
// 线性查找
int c = 999;
boolean z = true;
for (int i = 0; i < array.length; i++) {
if (array[i] == c) {
System.out.println("在第" + i + "位!");
z = false;
break;
}
}
if (z == true) {
System.out.println("抱歉, 没有找到!");
}
二分法查找(折半查找)
//二分法查找:
//前提:所要查找的数组,必须有顺序。才能查找!
int[] array2 = new int[]{10, 20, 30, 40, 50, 80, 90, 100, 120, 300};
int dest = 100; //要找的元素
int head = 0; //首元素索引
int end = array2.length - 1; //未元素索引
boolean jie = true;
boolean z1 = true;
while (head <= end) {
int zhong = (head + end) / 2; //中间元素 索引
if (dest == array2[zhong]) {
System.out.println("找到了,在索引位置上的:" + zhong);
jie = false;
break;
} else if (array2[zhong] > dest) {
end = zhong - 1;
} else {//array2[zhong] < dest
head = zhong + 1;
}
}
if (jie == true) {
System.out.println("抱歉,没有找到!!");
}
排序
冒泡排序
int[] array = new int[]{43, 40, 20, 10, 30, 20, 80};
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
//冒泡排序
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + "\t");
}