> php教程 > PHP开发 > 본문

Java 버블 정렬과 선택 정렬의 차이점에 대한 심층 설명

高洛峰
풀어 주다: 2016-12-19 13:32:26
원래의
1266명이 탐색했습니다.

버블 정렬
정렬할 배열을 반복해서 방문하여 두 요소를 한 번에 비교하고 순서가 잘못된 경우 교체합니다. 더 이상 교환이 필요하지 않을 때까지 어레이 방문 작업이 반복됩니다. 이는 어레이가 정렬되었음을 의미합니다.
코드는 다음과 같습니다.

public class nums {
     public static void main(String[] args){
         int []nums = {5,4,3,2,1};
         for(int i = 0; i < nums.length; i++){
             for(int j = 0; j < nums.length-i-1; j++){
                 if(nums[j] > nums[j+1]){
                     int temp = nums[j];
                     nums[j] = nums[j+1];
                     nums[j+1] = temp;
                 }
             }
             for(int x = 0;x < nums.length;x++){
                  System.out.print(nums[x]+",");
              }
             System.out.print("\n");
         }
     }
 }
로그인 후 복사

각 비교 라운드 후의 출력은 다음과 같습니다.

1 4,3,2,1,5,
2 3,2,1,4,5,
3 2,1,3,4,5,
4 1,2,3,4,5,
5 1,2,3,4,5,
로그인 후 복사

버블 정렬의 알고리즘 흐름은 다음을 통해 명확하게 이해할 수 있습니다. 산출.
선택 정렬
각 단계에서 정렬할 데이터 요소 중에서 가장 작은(또는 가장 큰) 요소가 선택되고 정렬할 모든 데이터 요소가 정렬될 때까지 정렬 순서의 끝에 순서가 배치됩니다. 정렬되었습니다.
코드는 다음과 같습니다.

public class nums {
     public static void main(String[] args){
         int []nums = {5,4,3,2,1};
         for(int i = 0; i < nums.length; i++){
             for(int j = 0; j < nums.length; j++){
                 if(nums[i] < nums[j]){
                     int temp = nums[i];
                     nums[i] = nums[j];
                     nums[j] = temp;
                 }
             }
             for(int x = 0;x < nums.length;x++){
                  System.out.print(nums[x]+",");
              }
             System.out.print("\n");
         }
     }
 }
로그인 후 복사

매 비교 라운드마다 nums[i]를 배열의 각 요소와 비교하는 코드를 보면 알 수 있습니다.
각 비교 라운드 후의 출력은 다음과 같습니다.

1 5,4,3,2,1,
2 4,5,3,2,1,
3 3,4,5,2,1,
4 2,3,4,5,1,
5 1,2,3,4,5,
로그인 후 복사

출력 결과에서 버블 정렬과의 알고리즘 차이를 쉽게 확인할 수 있습니다.


자바 버블정렬과 선택정렬의 차이점에 대한 더 자세한 설명은 PHP 중국어 홈페이지를 참고해주세요!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!