排序算法--冒泡排序

这个算法其实很简单,也很慢(n*n),原理是不断比较相邻两个元素,如果需要的话,换续,直到排列结束。      

        不多解释,C#代码如下:

class BubbleSorter
    {
        public BubbleSorter()
        {
        }

        public bool Sort(ref int[] numbers,int arrSize)
        {
            bool isOver = false;

            while (!isOver)
            {
                isOver = true;

                for (int i = 0; i < arrSize-1; i++)
                {
                    if (numbers[i] > numbers[i + 1])
                    {
                        Swap(ref numbers, i, i + 1);
                        isOver = false;
                    }
                }
            }

            return true;
        }

        private void Swap(ref int[] numbers, int idx1, int idx2)
        {
            int temp = numbers[idx1];
            numbers[idx1] = numbers[idx2];
            numbers[idx2] = temp;
        }
    }


你可能感兴趣的:(算法,C#,Class,Numbers)