原理:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,比较小的往上冒。即:每当两相邻的数比
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ListSort : MonoBehaviour {
private int[] m_Key = { 10, 25, 10, -3, -1, 4, -100 };
// Use this for initialization
void Start()
{
Sort( m_Key);
for(int i =0; i< m_Key.Length; i++)
{
Debug.Log(m_Key[i]);
}
}
static void Sort(int[] SortArray)
{
for (int j = 0; j < SortArray.Length - 1; j++)
{ //外循环控制内循环的次数
for (int i = 0; i < SortArray.Length - 1 - j; i++) //内循环是比较两个数的大小(-j:比较过大小的就不用在进行比较了)
{
if (SortArray[i] > SortArray[i + 1]) //相邻的两个数进行比较
{
int temp = SortArray[i];
SortArray[i] = SortArray[i + 1];
SortArray[i + 1] = temp;
}
}
}
}
}
较后发现他们的排序与排序要求相反时,就将他们互换。