java 절반 으로 접 기 거품 찾기 정렬 선택 정렬
http://www.cnblogs.com/liuling/p/2013-7-24-01.html , 。 。
/*
( ) 。
*/
class HalfSearchDemo
{
public static void main(String[] args)
{
int[] arr={1,2,3,6,2,3,5,1,8,9,3,5,2};
sop(" :"+halfSearch_2(arr,6));
System.out.println("Hello World!");
}
public static int halfSearch_2(int[] arr,int key){
SearchSort(arr);
int max=arr.length-1,min=0,mid;
while(min<=max){// "<="
mid=(min+max)/2;
if(key>arr[min])
min=mid+1;
else if(key<arr[max])
max=mid-1;
else
return mid;
}
return -1;
}
public static void PubbleSort(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])
{
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int k=0;k<arr.length;k++)
sop(arr[k]);
}
public static void SearchSort(int[] arr) // ,
{
for(int i=0;i<arr.length-1;i++)
{
for(int j=i+1;j<arr.length;j++)
{
if(arr[i]>arr[j])
{
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
for(int k=0;k<arr.length;k++)
sop(arr[k]);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
/ / 다음은 반 으로 나 누 어 찾 는 또 다른 표현 입 니 다.
public static int halfSearch(int[] arr,int key){
SelectSort(arr);
int max=arr.length-1;
int min=0;
int mid=(max+min)/2;
while(arr[mid]!=key){
if(key>arr[mid])
min=mid+1;
if(key<arr[mid])
max=mid-1;
if(min>max)
return -1;//
mid=(max+min)/2;
}
return mid;// , , index。
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.