冒泡排序正解

代码写了试了一下冒泡排序的代码,发现网上大多数冒泡排序是由问题的,这里我写一下正解的冒泡排序。

这里我把冒泡排序的方法封装在一个类里,以后想排序的时候直接调用就行了

 1  public void MaoPao(int[] list)
 2         {
 3             int temp;
 4             for (int i = 0; i < list.Length - 1; i++)
 5             {
 6                 for (int j = i + 1; j < list.Length; j++)
 7                 {
 8                     if (list[j] < list[i])
 9                     {
10                         temp = list[j];
11                         list[j] = list[i];
12                         list[i] = temp;
13                     }
14                 }
15             }
16         }
View Code

然后我们定义一个int数组,现在我们来排序试试我们的冒泡排序有没有用

这里我遇到的问题有最后比较的数据转换问题,首先是把每次比较的最小数赋给定义的int变量tem,然后是把最大数赋给j,最后是把tem赋给i,这是例子,你想输出别的参数也可以,然后就是i初始值是0,j的初始值是i+1,我觉得最容易出错的地方就是这两个了。

 1  static void Main(string[] args)
 2         {
 3             int[] array = { 12, 13, 14, 69, 58, 78, 70, 85, 99, 23, 56, 42, 32 };
 4 
 5             Class1 class1 = new Class1();
 6             class1.MaoPao(array);
 7             for (int i = 0; i < array.Length; i++)
 8             {
 9                 Console.Write("第{0}个数是{1}
", i + 1, array[i]);
10             }
11             Console.ReadKey();
12         }
View Code
原文地址:https://www.cnblogs.com/liuhuimh/p/7124848.html