一、介绍:
冒泡排序原理就是从第一个元素开始,比较其后边的一个元素的大小,按照排序方式进行交换位置,直到将所有元素的顺序排列好为止。演示如下:
视频演示:
冒泡排序演示_网络游戏热门视频 (bilibili.com)https://www.bilibili.com/video/BV1EZ4y1o7cF/?spm_id_from=333.999.0.0&vd_source=bf6b294c298d9c158ee178418c8d651a
二、运行代码:
void BubblingSort(int[] data){//首先是排序 data.length -1 轮for (int i = data.Length - 1; i > 0; i--){//每轮比较j次for (int j = 0; j < i; j++){//从小到大排序if (data[j] > data[j + 1]){int temp = data[j];data[j] = data[j + 1];data[j + 1] = temp;}}}}void BubblingSort2(int[] data){for (int i = 0; i < data.Length; i++){for (int j = 0; j < data.Length - 1 - i; j++){//从小到大排序if (data[j] > data[j + 1]){int temp = data[j];data[j] = data[j + 1];data[j + 1] = temp;}}}}
优化代码:
检测到数据后边的数据都已排好序则停止排序
void OptimizeBubblingSort(int[] data){int times = 0 ,flag = 0 ;//首先是排序 data.length -1 轮for (int i = data.Length - 1; i > 0; i--){flag = 0;//每轮比较j次for (int j = 0; j < i; j++){//从小到大排序if (data[j] > data[j + 1]){int temp = data[j];data[j] = data[j + 1];data[j + 1] = temp;flag++;}times++;}if (flag == 0){Debug.Log(times);return;}}Debug.Log(times);}