A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小p 中级黑马   /  2015-7-15 23:20  /  240 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



1.冒泡排序法

相邻元素间进行比较,最值出现在最后位。

核心代码:


public static void maoPao(int[] arr)
{

for (int x=0;x<arr.length-1 ; x++ )
{
for (int y=0;y<arr.length-x-1 ;y++ )//-x是为了改变循环次数,-1是为了避免第一次时越界
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}


}


}

2.查找操作

普通查找:

public static int getIndex(int[] arr,int key)
{
for (int x=0;x<arr.length ;x++ )
{
if(arr[x]==key)
return x;
}
return -1;
}

折半查找:数组必须是有序的;

//折半查找两种方式
/*public static int zheBan(int[] arr,int key)
{
int min,max,mid;
min=0;
max=arr.length;
mid=(min+max)/2;
while(key!=arr[mid])
{
if(key>arr[mid])
min=mid+1;
else
max=mid-1;
if(min>max)
return -1;
mid=(min+max)/2;
}
return mid;
}*/
public static int zheBan2(int[] arr,int key)
{
int min,max,mid;
min=0;
max=arr.length;
mid=(min+max)/2;
while(min<=max)
{
if(key>arr[mid])
min=mid+1;
else if(key<arr[mid])
max=mid-1;
else
return mid;
mid=(min+max)/2;
}
return -1;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马