冒泡排序是 一种比较简单的排序算法,其核心逻辑就是不断地比较相邻的两个数,如果前数 大于 后数,就把 两个数交换。
这样一趟比较下来,确保把最小的数字移动到了数列开始位置,或者把最大的数字移动到了数列的结尾位置。
之前百度上看到的一个图很形象
下面是一个算法代码简单例子
int[] intArr = new int[10] { 51, 41, 31, 91, 81, 71, 61, 21, 11, 0 }; void List_Sort(ref int[] intArr) { for (int outside = 0; outside < intArr.Length-1; outside++) { for (int index = 0; index < intArr.Length-1-outside; index++) { calCount++; //如果前一个大于后一个,交换两个值; if (intArr[index] > intArr[index + 1]) { intArr[index] = intArr[index] + intArr[index + 1]; intArr[index + 1] = intArr[index] - intArr[index + 1]; intArr[index] = intArr[index] - intArr[index + 1]; } } } } //调用 List_Sort(ref intArr);