数组与队列
1、数组
1.1数组基本用法
数组是java中最基本的一种数据结构,数组可以理解为存储相同类型数据的一种容器,一个数组一旦定义,其长度与类型都已经固定。数组中的每一个值都有固定的索引值。
使用数组的过程中需要注意的是:数组的长度是固定的,数组是有序的,数组中的每个元素都有一个唯一的索引位置,这个索引值从0开始,最大为数组长度-1;如果数组长度为10,则最后一个元素的索引位置就是9。
取得数组的长度,可以通过 数组名.length 得到;
取得数组某一位置的值,可以通过数组名[索引值]得到。
关于数组需要特别注意的一点,这一点经常使程序报错。就是数组越界,我自己就经常出现数组越界的错误。例子如下
public class Array {
public static void main(String[] args){
//定义长度为10的int型数组
//定义格式为:类型[] 数组变量名=new 类型[长度]
int[] x=new int [10];
for(int i=0;i<x.length;i++){
x[i]=i;
}
x[10]=1000;//越界取值出错
}
}
运行结果如下
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at com.smz.arraylist.Array.main(Array.java:11)
大家在运用数组时需要避免该问题的出现。
1.2数组的排序
排序是一类算法常用的算法实现,而其中最常用的就是冒泡排序和选择排序法了。
冒泡排序法
for (int i = 0; i < x.length; i++) {
for (int j = i + 1; j < x.length; j++) {
if (x[i] > x[j]) {
int temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
选择排序法
for (int i = 0; i < x.length; i++) {
int min = i