고전 정렬 알고리즘 거품 정렬(Bubble sort)코드
원 리 는 가 까 운 숫자 두 개 를 비교 하여 작은 것 에서 큰 것 으로,큰 것 에서 작은 것 으로 교환 하 는 것 이다.
이렇게 지나 간 후 가장 크 거나 가장 작은 숫자 가 마지막 으로 바 뀌 었 다.
그 다음 에 처음부터 두 가지 비교 교환 을 하고 꼴찌 두 번 째 가 끝 날 때 까지 나머지 는 예 를 들 어 보 자.
예 를 들 어 어 어 릴 때 부터 큰 순서 로 정렬 합 니 다.
원본 정렬 대기 배열|6|2|4|1|5|9|
첫 번 째 정렬(외부 순환)
첫 번 째 두 비교 6>2 교환(내부 순환)
교환 전 상태|6|2|4|1|5|9|
교환 후 상태|2|6|4|1|5|9|
두 번 째 두 번 째 비교,6>4 교환
교환 전 상태|2|6|4|1|5|9|
교환 후 상태|2|4|6|1|5|9|
세 번 째 두 번 째 비교,6>1 교환
교환 전 상태|2|4|6|1|5|9|
교환 후 상태|2|4|1|6|5|9|
네 번 째 두 번 째 비교,6>5 교환
교환 전 상태|2|4|1|6|5|9|
교환 후 상태|2|4|1|5|6|9|
다섯 번 째 두 번 째 비교,6<9 교환 하지 않 음
교환 전 상태|2|4|1|5|6|9|
교환 후 상태|2|4|1|5|6|9|
두 번 째 정렬(외부 순환)
처음 두 개 비교 2<4 교환 하지 않 음
교환 전 상태|2|4|1|5|6|9|
교환 후 상태|2|4|1|5|6|9|
두 번 째 두 번 째 비교,4>1 교환
교환 전 상태|2|4|1|5|6|9|
교환 후 상태|2|1|4|5|6|9|
세 번 째 두 번 째 비교,4<5 교환 하지 않 음
교환 전 상태|2|1|4|5|6|9|
교환 후 상태|2|1|4|5|6|9|
네 번 째 두 번 째 비교,5<6 교환 하지 않 음
교환 전 상태|2|1|4|5|6|9|
교환 후 상태|2|1|4|5|6|9|
세 번 째 정렬(외부 순환)
첫 번 째 두 개 비교 2>1 교환
교환 후 상태|2|1|4|5|6|9|
교환 후 상태|1|2|4|5|6|9|
두 번 째 두 번 째 비교,2<4 교환 하지 않 음
교환 후 상태|1|2|4|5|6|9|
교환 후 상태|1|2|4|5|6|9|
세 번 째 두 번 째 비교,4<5 교환 하지 않 음
교환 후 상태|1|2|4|5|6|9|
교환 후 상태|1|2|4|5|6|9|
네 번 째 정렬(외부 순환)교환 없 음
다섯 번 째 정렬(외부 순환)교환 없 음
정렬 완료,출력 최종 결과 1,2,4,5,6,9
코드 참조
static void bubble_sort(int[] unsorted)
{
for (int i = 0; i < unsorted.Length; i++)
{
for (int j = i; j < unsorted.Length; j++)
{
if (unsorted[i] > unsorted[j])
{
int temp = unsorted[i];
unsorted[i] = unsorted[j];
unsorted[j] = temp;
}
}
}
}
static void Main(string[] args)
{
int[] x = { 6, 2, 4, 1, 5, 9 };
bubble_sort(x);
foreach (var item in x)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
거품 정렬 애니메이션 프레젠테이션위 에서 말 한 것 은 소 편 이 소개 한 고전 정렬 알고리즘 의 거품 정렬(Bubble sort)코드 입 니 다.도움 이 되 셨 으 면 좋 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebGL2에서 GPGPU 바이트 닉 정렬이전 기사에서 JavaScript로 바이트 닉 정렬을 구현해 보았습니다. 알고리즘을 이해할 수 있었으므로, 바이트 닉 소트의 본령이 발휘할 수 있는 WebGL로 GPGPU 바이트 닉 소트를 구현해 보았습니다. Web...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.