Java--数组
目录
1.1 介绍:数据可以存放多个同一类型的数据。
1.2 排序:
冒泡排序法:
1.3 查找
1. 顺序查找
2. 二分查找
二维数组:
杨辉三角:
1.1 介绍:数据可以存放多个同一类型的数据。
数组的引用:数组名【下标】
使用方式:动态初始化:
先声明数组,再创建数组
数据类型 数据名[]={元素值,元素值.....}
数组赋值机制:
1. 基本数据类型赋值,这个值就是具体的数据,而且相互不影响。
2. 数组在默认情况下是引用传递,赋的值是地址。
1.2 排序:
介绍:排序是将多个数据,依指定的顺序进行排列的过程。
分类:
1. 内部排序:
指将需要处理的所有数据都加载到内部存储器中进行排序。
2. 外部排序法:
数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。
冒泡排序法:
通过对待排序序列从后向前,依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前向后部。
特点:
我们一共有五个元素,一共进行4轮排序,可以看成外层循环;每一轮去欸的那个一个数的位置,第一轮确定最大数,第二轮排序,确定第二大的数位置,依次类推。
1.3 查找
1. 顺序查找
2. 二分查找
二维数组:
原来的一维数组的每个元素是一维数组,就构成二维数组。
1. 二维数组的每个元素是一堆数组,所有如果需要得到每个一维数组的值,还需要再次遍历
2. 如果我们访问第(i+1)个一维数组的第(j+1)个值 arr[i+1] [j+1]。
经典例题
杨辉三角:
代码:
public class yanghui{
public static void main(String[] args){
int [][]yanghui = new int [10][];
for (int i=0;i<yanghui.length ; i++) {
//给一维数组开辟空间
yanghui[i] = new int[i+1];
for(int j = 0;j< yanghui[i].length; j ++) {
if( j == 0 || j == yanghui[i].length-1){
yanghui[i][j]= 1 ;
}else {
yanghui[i][j] = yanghui[i-1][j] + yanghui[i-1][j-1];
}
}
}
for (int i = 0;i < yanghui.length ;i++ ) {
for (int j = 0 ;j <yanghui[i].length ;j++ ) {
System.out.println(yanghui[i][j]+ "\t");
}
System.out.println();//换行
}
}
}
二维数组细节:
1. 一维数组的声明方式有:
int[]x 或者 int x[]l;
2. 二维数组的声明方式有:
int[] [] y 或者 int[] y[] 或者 int y[] [];
3. 二维数组实际上由多个一维数组组成的,它的各个一维数组的长度可以相同,也可以不相同。