一、介绍:
冒泡排序原理就是从第一个元素开始,比较其后边的一个元素的大小,按照排序方式进行交换位置,直到将所有元素的顺序排列好为止。演示如下:
视频演示:
二、运行代码:
cs
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;
}
}
}
}
优化代码:
检测到数据后边的数据都已排好序则停止排序
csvoid 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); }