Java가 구현한 각종 정렬 알고리즘(정렬 삽입, 정렬 선택 알고리즘, 거품 정렬 알고리즘)

1. 정렬 알고리즘을 삽입하여 자바 버전 구현

public static int[] insert_sort(int[] a)
{
for (int i = 0; i < a.length; i++)
{
for(int j=i+1;j>0&&j<a.length;j--)
{
if(a[j]<a[j-1])
{
int tmp = a[j]; // ,j , tmp 
a[j] = a[j-1];
a[j-1] = tmp;
}
}
}
return a; // ,  , 
}
2. 정렬 알고리즘을 선택하여 자바 버전을 실현한다

public static int[] select_sort(int[] a)
{
for (int i = 0; i < a.length; i++)
{
int min_pos = i;
for(int j=i+1;j<a.length;j++)
{
if(a[j] < a[min_pos])
{
min_pos = j;
}
}
int tmp = a[i]; // swap  
a[i] = a[min_pos];
a[min_pos] = tmp;
}
return a;
}
3. 거품 정렬 알고리즘java 실현
일반 거품

public static int[] bubble_sort(int[] a)
{
for (int i = 0; i < a.length; i++)
{
// a[i] i 
for(int j = a.length-1;j>i;j--)// j-1   j>i
{
if(a[j] < a[j-1])
{
int tmp = a[j]; // swap  
a[j] = a[j-1];
a[j-1] = tmp;
}
}
}
return a;
}
거품 정렬 개선, 조기 종료

public static int[] bubble_sort_flag(int[] a)
{
boolean isChange = true;
for (int i = 0; i < a.length && isChange; i++)
{
isChange = false;
for(int j = a.length-1;j>i;j--)// j-1   j>i
{
if(a[j] < a[j-1])
{
int tmp = a[j]; // swap  
a[j] = a[j-1];
a[j-1] = tmp;
isChange = true;
}
}
}
return a;
}
위에서 말한 것은 여러분이 소개한 자바가 실현한 각종 정렬 알고리즘(정렬 삽입, 정렬 선택 알고리즘, 거품 정렬 알고리즘)이다. 여러분에게 도움이 되었으면 합니다. 만약에 궁금한 것이 있으면 저에게 메시지를 남겨 주시면 제때에 답장해 드리겠습니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기