快速排序
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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?