14,冒泡排序
1,每轮把最大值排到最后,共排N-1轮
2,每轮排序数依次递减
3,优化,本轮如果没有发生值交换,退出排序
using System; namespace 数据结构 { public class Bubbling { static int[] sortArray = { 2, 501, 403, 708, 900, 1 }; public static void Main(string[] args) { Console.WriteLine("排序之前"); foreach (var m in sortArray) { Console.Write(m + " "); } Bubble(sortArray); Console.WriteLine(); Console.WriteLine("排序之后"); foreach (var m in sortArray) { Console.Write(m + " "); } } //冒泡 public static void Bubble(int[] array) { //临时变量 int temp; bool flag=false; for (int i = 0; i < sortArray.Length - 1; i++) { for (int j = 0; j < sortArray.Length - 1 - i; j++) { if (sortArray[j] > sortArray[j + 1]) { flag = true; //交换值 temp = sortArray[j]; sortArray[j] = sortArray[j + 1]; sortArray[j + 1] = temp; } } //优化排序,本轮如果没发生位置交换,退出 if (flag == false) { break; } else { flag= false; } } } } }