快速排序
pragma solidity ^0.4.0;
contract Sorter {
event finish(uint size, uint signature);
function sort(uint size, uint signature) {
// 初始化要排序的数组
uint[] memory data = new uint[](size);
for (uint x = 0; x < data.length; x++) {
data[x] = size-x;
}
// 快排
quickSort(data, 0, data.length - 1);
finish(size, signature);
}
// 快排算法
function quickSort(uint[] arr, uint left, uint right) internal {
uint i = left;
uint j = right;
if (i == j) return;
uint pivot = arr[left + (right - left) / 2];
while (i
关注
打赏
热门博文
- DevOps实践教程 华为云 系列教程2021 合集
- ❤️Python Django网站开发 2021年最新版教程 合集❤️
- ❤️java多线程并发编程入门 教程合集❤️
- ❤️区块链Hyperledger Fabric 老版本 1.1.0 快速部署安装 教程合集❤️
- ❤️Docker教程小白实操入门 教程合集❤️
- ❤️微信小程序 云开发 教程合集(视频+图文)免费❤️
- C++ boost::asio::io_service创建线程池thread_group简单实例
- C++ error: ‘shared_ptr’ was not declared in this scope
- git 代码回滚回退到指定版本 并 提交
- C++ 得到map中最后一个元素