栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Java中的随机数据点快速排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Java中的随机数据点快速排序

请参阅以下伪代码以进行就地修补(来自Wikipedia):

  function partition(array, left, right, pivotIndex)     pivotValue := array[pivotIndex]     swap array[pivotIndex] and array[right] // Move pivot to end     storeIndex := left     for i  from  left to right - 1 // left ≤ i < rightif array[i] ≤ pivotValue   swap array[i] and array[storeIndex]  storeIndex := storeIndex + 1     swap array[storeIndex] and array[right] // Move pivot to its final place     return storeIndex

注意,它遍历整个数组(最后一个索引除外)。直到最后,透视图才被交换。在您的代码中,关键值在整个循环中不断变化,这似乎是不正确的。

每次进行交换时,交换目标(上面的storeIndex)都应更改。

同样,您只需要交换小于左侧枢轴的值。如果所有低值都在左侧,则高值将最终在右侧。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/570595.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号