欢迎来到天天文库
浏览记录
ID:34440040
大小:175.35 KB
页数:4页
时间:2019-03-06
《关于数组的各种排序及查找操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、一些有关数组的基本知识数组的定义:同一种类型数据的集合。实际上就是一个容器。数组可以自动给其中的元素从0开始编号,方便操作这些元素。格式:元素类型[]数组名=new元素类型[元素个数或者数组长度]String[]arr=newString[6];元素类型[]数组名=new元素类型[]{元素,元素,元素...}int[]arr=newint[]{1,2,3,4};int[]arr={3,5,1,7}{}:局部代码块,限定局部变量的声明周期。内存划分:1、寄存器;2、本地方法区;3、方法区;4、栈内存;(1).存储的都是局部变量;(2)变量所属作
2、用域一旦结束,这些变量就自动释放。5、堆内存;存储的是数组和对象,凡是new建立的特点:1、每一个试题都有一个首地址值;2、堆内存中的没一个变量都有默认的初始化值,根据数据类型的不同而不同。整数是0,小数是0.0,boolean型是false,char是'u0000'。异常:1、ArrayIndexOutOfBoundsException:当访问到数组中不存在的角标时,就会发生该异常;2、NullPointException:空指针异常。当引用型变量没有任何实体指向时,仍用其操作实体,就会引发该异常。二、数组的相关操作1、选择排序:(核心代码)
3、for(inti=0;iarr[n]){inttemp=0;temp=arr[i];arr[i]=arr[n];arr[n]=temp;}图解:2、冒泡排序:-1:避免数组越界;-x:为了让外循环增加一次,内循环参数与比较的元素递减。1、for(inti=0;iarr[n+1]){inttemp=0;tem
4、p=arr[n];arr[n]=arr[n+1];arr[n+1]=temp;}}}图解:2、for(inti=arr.length-1;i>0;i--){for(intn=0;narr[n+1]){inttemp=0;temp=arr[n];arr[n]=arr[n+1];arr[n+1]=temp;}}}二分查找:importjava.util.*;intindex1=Arrays.binarySearch(arr,39);//如果元素存在返回的是具体位置,如果不存在,返回的是-插入点-1while(arr
5、[mid]!=key){if(arr[mid]key){max=mid-1;}if(min>max){return-1;}mid=(min+max)/2;}returnmid;
此文档下载收益归作者所有