第二周:冒泡法

循环数组,通过比较前一个与后一个数的大小,将小的前移,不断地将小的数向前冒;

例子:

class B_冒泡算法_BubbleSort
    {
        static void Main()
        {
            List<int> myList = new List<int> { 15, 6, 22, 18, 9, 8, 22, 999, 33, 49, 17, 66, 77, 55 };
            Console.WriteLine("排序前的数据");
            for (int i = 0; i < myList.Count; i++)
            {
                Console.Write(myList[i] + " ");
            }

            Console.WriteLine();
            BubbleSort(myList);

            Console.WriteLine("使用冒泡排序法排序后的数据");
            for (int i = 0; i < myList.Count; i++)
            {
                Console.Write(myList[i] + " ");
            }

            Console.ReadKey();
        }

        static void BubbleSort(List<int> list)
        {
            if(list==null||list.Count<1)
            {
                return;
            }
            for (int id = 0; id < list.Count-1;id++ )
            {
                for (int num = list.Count - 1;num>id;num-- )
                {
                    if (list[num] < list[num - 1])
                    {
                        int temp = list[num];
                        list[num] = list[num - 1];
                        list[num - 1] = temp;
                    }
                }
            }

        }
    }

posted @ 2011-12-13 14:52  yanghongbo  阅读(105)  评论(0编辑  收藏  举报