您的位置:首页 > 移动开发 > Unity3D

Unity3D -- 快速排序

2016-03-08 11:54 441 查看
Unity3D中我们编辑好了几百个关卡,对这几百个关卡排序,使用快速排序方法如下:

void QSort(Transform[] a,int low,int high)
{
if (low >= high) {
return;
}
int first = low;
int last = high;
Transform key = a [first];
while (first < last) {
while (first < last && NameToInt (a [last]) >= NameToInt(key)) {
--last;
}
a [first] = a [last];
while (first < last && NameToInt (a [first]) <= NameToInt(key)) {
++first;
}
a [last] = a [first];
}
a [first] = key;
QSort (a, low, first - 1);
QSort (a, first + 1, high);
}

int NameToInt(Transform t)
{
string[] str = t.name.Split ('_');
return int.Parse(str[1]);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: