mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-25 01:06:30 +08:00
Fix quick_sort.py
This commit is contained in:
parent
b89ea3eba4
commit
0b72fef381
11 changed files with 12 additions and 12 deletions
|
@ -52,7 +52,7 @@ void quickSort(int nums[], int left, int right) {
|
|||
/* 快速排序类(中位基准数优化) */
|
||||
// 选取三个元素的中位数
|
||||
int medianThree(int nums[], int left, int mid, int right) {
|
||||
// 使用了异或操作来简化代码
|
||||
// 此处使用异或运算来简化代码
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if ((nums[left] < nums[mid]) ^ (nums[left] < nums[right]))
|
||||
return left;
|
||||
|
|
|
@ -57,7 +57,7 @@ private:
|
|||
|
||||
/* 选取三个元素的中位数 */
|
||||
static int medianThree(vector<int>& nums, int left, int mid, int right) {
|
||||
// 使用了异或操作来简化代码
|
||||
// 此处使用异或运算来简化代码
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if ((nums[left] < nums[mid]) ^ (nums[left] < nums[right]))
|
||||
return left;
|
||||
|
|
|
@ -63,7 +63,7 @@ class QuickSortMedian
|
|||
/* 选取三个元素的中位数 */
|
||||
static int medianThree(int[] nums, int left, int mid, int right)
|
||||
{
|
||||
// 使用了异或操作来简化代码
|
||||
// 此处使用异或运算来简化代码
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if ((nums[left] < nums[mid]) ^ (nums[left] < nums[right]))
|
||||
return left;
|
||||
|
|
|
@ -49,7 +49,7 @@ class QuickSortMedian {
|
|||
|
||||
/* 选取三个元素的中位数 */
|
||||
static int _medianThree(List<int> nums, int left, int mid, int right) {
|
||||
// 使用了异或操作来简化代码
|
||||
// 此处使用异或运算来简化代码
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if ((nums[left] < nums[mid]) ^ (nums[left] < nums[right]))
|
||||
return left;
|
||||
|
|
|
@ -47,7 +47,7 @@ func (q *quickSort) quickSort(nums []int, left, right int) {
|
|||
|
||||
/* 选取三个元素的中位数 */
|
||||
func (q *quickSortMedian) medianThree(nums []int, left, mid, right int) int {
|
||||
// 使用了异或操作来简化代码(!= 在这里起到异或的作用)
|
||||
// 此处使用异或运算来简化代码(!= 在这里起到异或的作用)
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if (nums[left] < nums[mid]) != (nums[left] < nums[right]) {
|
||||
return left
|
||||
|
|
|
@ -56,7 +56,7 @@ class QuickSortMedian {
|
|||
|
||||
/* 选取三个元素的中位数 */
|
||||
static int medianThree(int[] nums, int left, int mid, int right) {
|
||||
// 使用了异或操作来简化代码
|
||||
// 此处使用异或运算来简化代码
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if ((nums[left] < nums[mid]) ^ (nums[left] < nums[right]))
|
||||
return left;
|
||||
|
|
|
@ -54,7 +54,7 @@ class QuickSortMedian {
|
|||
|
||||
/* 选取三个元素的中位数 */
|
||||
medianThree(nums, left, mid, right) {
|
||||
// 使用了异或操作来简化代码
|
||||
// 此处使用异或运算来简化代码
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if ((nums[left] < nums[mid]) ^ (nums[left] < nums[right])) return left;
|
||||
else if ((nums[mid] < nums[left]) ^ (nums[mid] < nums[right])) return mid;
|
||||
|
|
|
@ -40,11 +40,11 @@ class QuickSort:
|
|||
class QuickSortMedian:
|
||||
""" 选取三个元素的中位数 """
|
||||
def median_three(self, nums, left, mid, right):
|
||||
# 使用了异或操作来简化代码
|
||||
# 此处使用异或运算来简化代码
|
||||
# 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if (nums[left] < nums[mid]) ^ (nums[left] < nums[right]):
|
||||
return left
|
||||
elif (nums[mid] < nums[left]) ^ (nums[mid] > nums[right]):
|
||||
elif (nums[mid] < nums[left]) ^ (nums[mid] < nums[right]):
|
||||
return mid
|
||||
return right
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ impl QuickSort {
|
|||
impl QuickSortMedian {
|
||||
/* 选取三个元素的中位数 */
|
||||
fn median_three(nums: &mut [i32], left: usize, mid: usize, right: usize) -> usize {
|
||||
// 使用了异或操作来简化代码
|
||||
// 此处使用异或运算来简化代码
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if (nums[left] < nums[mid]) ^ (nums[left] < nums[right]) {
|
||||
return left;
|
||||
|
|
|
@ -56,7 +56,7 @@ class QuickSortMedian {
|
|||
|
||||
/* 选取三个元素的中位数 */
|
||||
medianThree(nums: number[], left: number, mid: number, right: number): number {
|
||||
// 使用了异或操作来简化代码
|
||||
// 此处使用异或运算来简化代码
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if (Number(nums[left] < nums[mid]) ^ Number(nums[left] < nums[right])) {
|
||||
return left;
|
||||
|
|
|
@ -53,7 +53,7 @@ const QuickSortMedian = struct {
|
|||
|
||||
// 选取三个元素的中位数
|
||||
pub fn medianThree(nums: []i32, left: usize, mid: usize, right: usize) usize {
|
||||
// 使用了异或操作来简化代码
|
||||
// 此处使用异或运算来简化代码
|
||||
// 异或规则为 0 ^ 0 = 1 ^ 1 = 0, 0 ^ 1 = 1 ^ 0 = 1
|
||||
if ((nums[left] < nums[mid]) != (nums[left] < nums[right])) {
|
||||
return left;
|
||||
|
|
Loading…
Reference in a new issue