>  기사  >  백엔드 개발  >  C# 버블 정렬

C# 버블 정렬

黄舟
黄舟원래의
2017-02-09 16:24:051418검색

C# 버블 정렬

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
namespace Sort  
{  
    class BubbleSorter  
    {  
        public static int[] Sort(int[] a)  
        {  
            BubbleSort(a);  
            return a;  
        }  
        private static void BubbleSort(int[] myArray)  
        {  
            for (int i = 0; i < myArray.Length; i++)//循环的趟数  
            {  
                for (int j = 0; j < myArray.Length - 1- i; j++)//每次循环的次数  
                {  
        //比较相邻元素,将值大的后移==》每一趟循环结束==》最后一个数是最大的。  
        //所以每次循环都比上一次循环的个数少1,即j < myArray.Length - 1- i  
                    if (myArray[j] > myArray[j + 1])  
                    {  
                        Swap(ref myArray[j], ref myArray[j + 1]);  
                    }  
                }  
            }  
        }  
    //引用参数与值参数  
        private static void Swap(ref int left, ref int right)  
        {  
            int temp;  
            temp = left;  
            left = right;  
            right = temp;  
        }  
    }  
}  
冒泡排序算法的运作如下:

버블 정렬 알고리즘의 동작은 다음과 같습니다.

1. 인접 요소를 비교합니다. 첫 번째 것이 두 번째 것보다 크면 둘 다 교환하세요.

2. 처음의 첫 번째 쌍부터 끝의 마지막 쌍까지 인접한 요소의 각 쌍에 대해 동일한 작업을 수행합니다. 이때 마지막 요소가 가장 큰 숫자가 되어야 합니다. ==》마지막 숫자는 가장 크기 때문에 비교할 필요가 없습니다.

3. 마지막 요소를 제외한 모든 요소에 대해 위 단계를 반복합니다.

4. 비교할 숫자 쌍이 없을 때까지 점점 더 적은 수의 요소에 대해 위 단계를 계속 반복합니다.

위 내용은 C# 버블정렬 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


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