C#数据结构与算法---冒泡排序算法

C#数据结构与算法---快速排序算法

冒泡排序(Bubble Sort)是最简单的排序算法,也是时间复杂度最高的,适合少量数的排序。

算法过程:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

算法代码:

namespace 算法
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> BeforeSort = new List<int>() { 1, 11, 39, 30, 31, 28, 2, 16, 12, 22, 0, 29 };
            List<int> AfterSort = BubbleSort(BeforeSort);
            PrintArr(AfterSort);
            Console.ReadKey();
        }
        public static List<int> BubbleSort(List<int> list) 
        { 
          for(int i=0; i<list.Count-1 ;i++)
          {
              for (int j = 0; j < list.Count - 1; j++)
              {
                  if (list[j] > list[j + 1]) 
                  {
                      list[j] = list[j] + list[j + 1];
                      list[j+1] = list[j] - list[j + 1];
                      list[j] = list[j] - list[j + 1];
                  }
              
              }
          
          }
          return list;
        }
        public static void PrintArr(List<int> list) 
        {
            for (int i = 0; i < list.Count; i++) 
            {
                Console.WriteLine(list[i]);
            }
        }
    }
}

结果:

C#数据结构与算法---冒泡排序算法_第1张图片

你可能感兴趣的:(数据结构与算法)