>  기사  >  Java  >  Java에서 버블 정렬을 구현하는 방법

Java에서 버블 정렬을 구현하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-08-19 15:51:493673검색

Java에서 버블 정렬을 구현하는 방법: 먼저 첫 번째와 두 번째 숫자를 비교하고 소수점을 앞에 두고 큰 숫자를 마지막에 넣은 다음 두 번째 숫자와 세 번째 숫자를 비교하고 소수점을 앞에 두고 다음을 입력합니다. 큰 숫자를 마지막에 배치한 후 마지막 두 숫자를 비교할 때까지 이렇게 계속합니다. 소수점은 앞에 놓고 큰 숫자는 뒤에 넣습니다. 마지막으로 모든 정렬이 완료될 때까지 첫 번째 단계를 반복합니다.

Java에서 버블 정렬을 구현하는 방법

【관련 학습 추천: java 기본 튜토리얼

Java 버블 정렬 구현 방법:

원리: 인접한 두 요소를 비교하고 더 큰 값을 가진 요소를 오른쪽 끝으로 바꿉니다.

아이디어: 인접한 두 숫자를 차례로 비교하고, 앞에 소수점을 넣고 뒤에 큰 숫자를 넣습니다. 즉, 첫 번째 단계에서는 먼저 첫 번째 숫자와 두 번째 숫자를 비교하고 소수점을 먼저 배치하고 큰 숫자를 마지막에 배치합니다. 그런 다음 두 번째 숫자와 세 번째 숫자를 비교하고 소수를 앞에 놓고 큰 숫자를 뒤에 놓고 마지막 두 숫자를 비교할 때까지 이렇게 계속하여 소수를 앞에 놓고 큰 숫자를 뒤에 넣습니다. 모든 정렬이 완료될 때까지 첫 번째 단계를 반복합니다.

예: 배열을 정렬하려면: int[] arr={6,3,8,2,9,1};

첫 번째 정렬:

  첫 번째 정렬: 6과 3을 비교하고, 6은 3보다 큽니다. 위치: 3 6 8 2 9 1

  두 번째 정렬: 6과 8을 비교하고, 6은 8보다 작으며, 위치를 교환하지 않습니다.: 3 6 8 2 9 1

  세 번째 정렬: 8과 2를 비교하고, 8이 더 큽니다. 2보다 위치 교환: 3 6 2 8 9 1

  네 번째 정렬: 8과 9를 비교, 8은 9보다 작음, 위치 교환하지 않음: 3 6 2 8 9 1

  다섯 번째 정렬: 9와 1을 비교 : 9 1보다 큼, 위치 교환: 3 6 2 8 1 9

 1차 패스에서 총 5번의 비교가 이루어졌으며 정렬 결과: 3 6 2 8 1 9

--------- ----------------- --------------------------------- ---- ----

두 번째 정렬:

첫 번째 정렬: 3과 6을 비교, 3은 6보다 작음, 위치 교환 안 함: 3 6 2 8 1 9

두 번째 정렬: 6과 2를 비교, 6이 2보다 큼, 위치 교환: 3 2 6 8 1 9

  세 번째 정렬: 6과 8을 비교, 6이 8보다 큼, 교환하지 않음 위치: 3 2 6 8 1 9

  네 번째 정렬: 8과 1을 비교하고, 8은 1보다 큼, 위치 교환: 3 2 6 1 8 9

 두 번째 패스에서 총 4번의 비교가 이루어졌으며, 정렬 결과: 3 2 6 1 8 9

--------------- -------------- ---------- -----

세 번째 정렬:

첫 번째 정렬: 3과 2를 비교하고 3이 다음보다 큽니다. 2, 위치 교환: 2 3 6 1 8 9

두 번째 정렬: 3과 6을 비교, 3 6보다 작음, 위치 교환 없음: 2 3 6 1 8 9

  세 번째 정렬: 6과 1을 비교 , 6은 1보다 큼, 위치 교환: 2 3 1 6 8 9

  두 번째 패스에서 총 3번의 비교가 이루어졌으며, 정렬 결과: 2 3 1 6 8 9

--------- ------------------------ ------------- --------

4차 정렬:

 1차 정렬: 2와 3을 비교, 2 3 미만, 위치 교환 없음: 2 3 1 6 8 9

  두 번째 정렬: 3과 1을 비교, 3이 1보다 큼, 위치 교환: 2 1 3 6 8 9

  두 번째 패스에서 총 2번의 비교, 정렬 결과: 2 1 3 6 8 9

----------------------------------------------- ---------------------

다섯 번째 정렬:

 첫 번째 정렬: 2와 1 비교 , 2 1보다 큼, 위치 교환: 1 2 3 6 8 9

 두 번째 패스에서 총 1번의 비교가 수행되었으며 정렬 결과: 1 2 3 6 8 9

--------- ----------------- --------------------------------- ---- ----

최종 결과: 1 2 3 6 8 9

---------------- ----------------- --------------------------------- ---

버블 정렬의 장점: 정렬을 수행할 때마다 비교 횟수가 한 번 줄어듭니다. 정렬을 수행할 때마다 더 큰 값이 발견되기 때문입니다. 위의 예와 같이 첫 번째 비교 후에는 마지막 숫자가 가장 큰 숫자여야 합니다. 두 번째 정렬에서는 마지막 숫자를 제외한 다른 숫자만 비교하면 되며 가장 큰 숫자도 찾을 수 있습니다. 두 번째 비교에 참여한 숫자 뒤에는 세 번째 비교에서는 마지막 두 숫자를 제외한 나머지 숫자만 비교하면 되는 식이다... 즉, 비교를 하지 않을 때마다 여행 당 한 번의 비교가 줄어든다. 어느 정도 알고리즘의 양.

Java에서 버블 정렬을 구현하는 방법

관련 추천: 프로그래밍 비디오 강좌

위 내용은 Java에서 버블 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.