黑马程序员——数组

----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 

1、数组的初始化

   java中初始化数组有两种常见方式:

第一种:int[]  arr=new int[2];或int  arr[]=new int[2];注意不要越界访问,如:访问arr[2]时,会报数组下标已经越界的异常。

第二种:int[]  arr=new int[] {3,1,6,5,7};或int[]  arr={3,1,6,5,7};虽然知道数组元素的数量,但是java中不能在前面指出来,不然会报错误。

说明:二维数组有三种表示方法:int [][] y; int y[][]; int[] y[].

2、数组的遍历

   数组具有length属性,可以取到数组的长度,再加上for循环即可遍历出所有数组元素。

取长度/大小的总结:String具有length()方法,继承自Collection接口的集合接口,都有size()方法。

3、数组中两种常见的排序

一般实际中,更多地会用Array.sortarr)方法对数组进行排序,但这两种排序方法更加经典,更重要的是思想。

(1)选择排序

public void selectSort() {
int[]  arr={3,5,1,2,8,6};
for(int x=0;x<arr.length-1;x++) {
for(int y=x+1;y<arr.length;y++) {
if(arr[x]>arr[y]) {
int temp =arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}

(2)冒泡排序

public void bubbleSort() {
int[]  arr={3,5,1,2,8,6};
for(int x=0;x<arr.length-1;x++) {
for(int y=0;y<arr.length-x-1;y++)  {
if(arr[y]<arr[y+1]) {
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}

4、数组的元素位置的查找

这里说明的是一种折半查找方法,它的效率比较高,但是必须要保证数组是有序的。

    public int halfSearch(int[] arr,int key) {   //key表示查找的元素
int min,max,mid;
min=0;
max=arr.length-1;
mid=(max+min)/2;
 
while(arr[mid]!=key) {
if(key>arr[mid]) {
min=mid+1;
}else if(key<arr[mid]) {
max=mid-1;
}
if(min>max) return -1;
mid=(max+min)/2;
}
return mid;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值