java: 배열 거품 정렬 고전 알고리즘
수요: 배열 을 지정 하여 작은 것 부터 큰 것 까지 정렬 하고 출력 합 니 다.
사고: 1. 서로 인접 한 두 가지 요 소 를 비교 하고 왼쪽 요 소 는 오른쪽 요소 보다 크 면 좌우 로 교환 합 니 다.
2. 모든 인접 요 소 를 뒤로 비교 하고 가장 큰 요 소 를 배열 의 마지막 에 놓 을 때 까지 비교 합 니 다.
3. 배열 을 옮 겨 다 니 며 상기 절 차 를 다시 순환 하고 지난 라운드 와 이미 선택 한 최대 요 소 를 제거 합 니 다 (선택 한 최대 수치 가 점점 많아 지면 서 두 비교 횟수 가 상응 하여 감소 합 니 다)
실례 는 다음 과 같다.
public class Test {
public static void main(String[] args){
// arr
int [] arr= {10,87,65,34,57};
//
printShow(arr);
//
for(int i=0;i<arr.length-1;i++){
// for
for(int j=0;j<arr.length-1-i;j++) {
if(arr[j]>arr[j+1]) {
//temp
//
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//
System.out.println(" :");
printShow(arr);
}
//
public static void printShow(int [] arr) {
System.out.println(" :");
System.out.print("[");
for(int i=0;i<arr.length;i++) {
if(i==arr.length-1) {
System.out.print(arr[i]+"]");
}else {
System.out.print(arr[i]+",");
}
}
System.out.println("");
}
}
출력 결과
:
[10,87,65,34,57]
:
:
[10,34,57,65,87]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【eclipse】같은 파일을 2개 열고 싶다【에디터의 분할】「이런 것은 다른 클래스로 나누어야 한다!」라든지 있다고는 생각합니다만. 실제로 실무 속에서 프로그램을 쓰고 있으면, 이런 소스에 눈에 걸리는 일도 적지 않을까···. 그건 그렇고, 내 노트북에서 이렇게 보입니다 네...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.