Flutter Dart快速排序算法示例详解(flutter foreach)硬核推荐

随心笔谈2年前发布 编辑
162 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

void main() {
List<int> quickSort(List<int> arr) {
// 处理边界问题
if (arr.length <=1) {
return arr;
}
// 取出第一个值作为参考
int splitData=arr[0];
// 小于参考值的集合
List<int> low=[];
// 大于参考值的集合
List<int> hight=[];
// 与参考相等的集合
List<int> mid=[];
// 初次把参考值添加到mid中
mid.add(splitData);
for (int i=1; i < arr.length; i++) {
if (arr[i] < splitData) {
// 小于
low.add(arr[i]);
} else if (arr[i] > splitData) {
// 大于
hight.add(arr[i]);
} else {
// 等于
mid.add(arr[i]);
}
}
// 二分数据后,再继续递归整理
low=quickSort(low);
hight=quickSort(hight);
// 最后合并
return […low, …mid, …hight];
}
const List<int> ary=[4, 5, 1, 3, 6, 2, 5, 6, 7, 2, 4];
print(quickSort(ary));
}

© 版权声明

相关文章