概念
一次冒泡就会确定一个元素防止到它最终的位置上
假设待排序表长为n,从后往前(或从前往后)两两比较相邻元素的值,若为逆序(A[i-1]>A[i]),则交换它们,直到序列比较完。
代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SortTest : MonoBehaviour {
int[] list = new int[4] { 3, 1, 7, 2 };
// Use this for initialization
void Start() {
print("t");
int temp;
for (int round = 3; round >= 1; round--)
{
for (int index = 0; index < round ; index++)
{
if (list[index + 1] < list[index])
{
temp = list[index + 1];
list[index + 1] = list[index];
list[index] = temp;
}
}
}
print("最大的数在末尾" + list[3]);
print("第二大的树在末尾" + list[2]);
}
// Update is called once per frame
void Update() {
}
}
演示
round=3->index=0 (13)->1 (37)->2 (27)->index=3=round 跳出循环
round=2->index=0 (13)->1 (23)->index=2=round 跳出循环
输出
最大的数在末尾7
第二大的数在末尾3