数组的 定义 排序 查找

数组的定义:数据类型[] 变量名 = 初始值;

定义方法有三种 

//数组声明方式一

//int[] array = new int[数组的元素个数];

// 数组声明方式二(长度和元素都给了)

// int[] array = new int[] { 1, 23, 6, 7 };

// 数组的声明方式三(语法糖)

// int[] array1 = { 134, 5, 6, 67, 4 };

说到数组牵扯到堆内存和栈内存,下面简单讲一下堆内存和栈内存;

例子:

public static void fun1() {

int a = 10;

}

public static void main(String[] args) {

fun1();

int a =5;

int[] array = new int[5];// new 表示是在堆内存开辟的空间

}




数组的反转

public class 数组Demo04 {

	public static void main(String[] args) {

		int[] array = new int[] {1,2,3};

		chngeArray(array);

    }

public static void chngeArray(int[] array) {

		//交换的次数----数组的长度/2;

		//array[0]---array[length - 1-0];

		//array[1]---array[length - 1-1];

		//array[i]---array[length - 1-i];

		int sum =array.length/2;

		for (int i = 0; i < sum; i++) {

			int tem = array[i];

			array[i] = array[array.length-1-i];

			 array[array.length-1-i]=tem;	

		}

	}

}



 
 

数组的冒泡排序

核心思想:相邻的数比较 然后换位  

public static void main(String[] args) {
		int[] array = { 3, 2, 5, 1 };
		// 外循环控制一共比了多少趟
		// 内循环控制一趟比了多少次
		for (int i = 0; i < array.length - 1; i++) {
			for (int j = 0; j < array.length - 1 - i; j++) {
				// 判断大小 相邻
				// 内循环减1 防止数组越界;
				// 内循环减i 循环一次确定一个数 每次少比一次;
				if (array[j] < array[j + 1]) {
					// 交换
					int tem = array[j];
					array[j] = array[j + 1];
					array[j + 1] = tem;
				}
			}
		}
		System.out.println(Arrays.toString(array));
	}

数组的选择排序

核心思想:选择一个数(第一个数)和其他数进行比较 交换;

下面举例说明

private static void fun1() {
		int[] array = {3,2,5,1};
		for (int i = 0; i < array.length-1; i++) {
			for (int j = i+1; j < array.length; j++) {
				//用第0个数 和剩下的每一个比较;
				//i=0 j 0 1 2 3 
				//i=1 j 1 2 3 
				//i=2 j 2 3 
				if (array[i]>array[j]) {
					int tem =array[i];
					array[i]=array[j];
					array[j]=tem;
				}
			}
		}
	}

二维数组的定义和遍历

 二维数组(容器)

 保存多个相同类型的一位数组

 int[][] 数组名 = 初值

遍历二维数组

public static void main(String[] args) {
		// 声明一个二维数组
		// 这个二维数组中有2个一位数组 每个一位数组中有3个元素;
		int[][] arrayArray = new int[2][3];
		// arrayArray.length 表示一位数组的长度
		System.out.println(arrayArray[1]);
		// 声明方式二
		int[][] array = new int[][] { { 1, 11, 111 }, { 2, 22, 222 } };
		//遍历
		for (int i = 0; i < array.length; i++) {
			for (int j = 0; j < array[i].length; j++) {
				System.out.print(array[i][j]+",");
			}
			System.out.println();
		}
	}

总结:

1.数组是引用函数 引用函数传递的是地址 

2.想到数组就要想到遍历;遍历就要想到循环;

3.数组可以有一维,二维,多维.....;

4.数组的几个应用:排序 求和 平均值 最值 查找;

5.


猜你喜欢

转载自blog.csdn.net/shanwenfengyu/article/details/80232116
今日推荐