黑马程序员技术交流社区
标题:
我对数组的一些整理
[打印本页]
作者:
yangkai69
时间:
2015-8-20 23:59
标题:
我对数组的一些整理
数组
数组是一个数据的集合,可以存放数据,数组在创建时就必须定好数组的大小
数组常用的一些操作有:
1、排序
2、查找
一下是一些常用的代码。
public class SelectSort {
//创建一个数组
static int []arr={3,4,1,6,7,2,8};
public static void main(String[] args) {
}
//选择排序法
public void selectSort1(int []arr)
{
//从小到大排列的选择排序法,其原理是把每一个arr[i]当做最小值和arr[j]进行对比,选出最小的arr[i];
for(int i=0;i<arr.length-1;i++)
{
for(int j=i+1;j<arr.length;j++)
{
if(arr[i]>arr[j])
{
swap(arr,i,j);
}
}
}
}
//冒泡排序法
public void selectSort2(int []arr)
{
for(int i=0;i<arr.length-1;i++)
{
for(int j=0;j<arr.length-1-i;j++)
{
if(arr[j]>arr[j+1])
{
swap(arr,j,j+1);
}
}
}
}
//遍历数组
public void ergodic(int []arr)
{
for(int i=0;i<arr.length;i++)
{
int temp=arr[i];
System.out.println(temp);
}
}
//寻找最大值(最小值同理)
public void selectMax(int []arr)
{
//假设第0个为最大
int max=arr[0];
for(int i=1;i<arr.length;i++)
{
if(max<arr[i])
{
max=arr[i];
}
}
System.out.println("最大值是:"+max);
}
//数组里的成员 位置 互换的方法
public static void swap(int []arr,int a,int b)
{
arr[a]=arr[a]^arr[b];
arr[b]=arr[a]^arr[b];
arr[a]=arr[a]^arr[b];
}
//折半查找:在一个按顺序排列的数组中,将n插入进去
public int halfSeach(int []arr,int n)
{
int min=0;int max=arr.length-1;int mid=(min+max)>>1;
while(min<max)
{
if(n>arr[mid])
{
min=mid+1;
mid=(min+max)>>1;
}else if(n<arr[mid]){
max=mid-1;
mid=mid=(min+max)>>1;
}else {
return mid;
}
}
return mid;
}
}
复制代码
作者:
cc3441251
时间:
2015-8-21 00:11
谢谢分享 学习了
作者:
koibiki
时间:
2015-8-21 00:57
谢谢分享,总结得不错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2