交换排序中的冒泡排序

namespace swapSort
{
    class Program
    {
        static void Main(string[] args)
        {
            sort sortTest = new sort(21);
            sortTest.BubbleSort();
        }
    }
    class sort
    {
        private int[] myArray;
        private int size;
        private static Random myTandom = new Random();
        private int temp;
        public sort(int size)
        {
            int i;
            this.size = size;
            myArray=new int[size];
            for (i = 0; i < size;i++)
            {
                myArray[i]=myTandom.Next(1,100);
            }
        }
        public void BubbleSort()
        {
            int i, j, flag = 1;
            for (i = 0; i < size && flag == 1; i++)
            {
                flag = 0;
                for (j = 0; j < size-i-1; j++)    //这里注意,写在size-i;会在第一回合比较中出现数组越界;
        {
                    if (myArray[j] > myArray[j + 1])
                    {
                        temp = myArray[j + 1];
                        myArray[j+1]=myArray[j];
                        myArray[j] = temp;
                        flag = 1;
                    }
                }
            }
            for (i = 0; i < size; i++)
            {
                Console.Write(" "+myArray[i]);
            }
        }
    }
}

posted on 2010-01-04 16:37  涂圣飞  阅读(106)  评论(0编辑  收藏  举报

导航