189 8069 5689

17种编程语言实现排序算法-快速排序-创新互联

开源地址

https://gitee.com/lblbc/simple-works/tree/master/sort/
覆盖语言:C、C++、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、PHP。
覆盖平台:安卓(Java、Kotlin)、iOS(SwiftUI)、Flutter(Dart)、Window桌面(C#)、前端(微信小程序、uni-app、vue)、后端(Java、Kotlin、NodeJS、Python、PHP、Go、C、C++)、鸿蒙

目前创新互联已为近1000家的企业提供了网站建设、域名、网站空间网站运营、企业网站设计、建湖网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

image

1. 安卓Java版

开发工具:下载Android Studio

private static void sort(int[] array) {sortMe(array, 0, array.length - 1);
}

private static void sortMe(int[] array, int low, int high) {if (low >= high) {return;
    }
    int pivot = array[low];
    int l = low;
    int r = high;
    int tmp;
    while (l< r) {while (l< r && array[r] >= pivot) {r--;
        }
        while (l< r && array[l]<= pivot) {l++;
        }
        if (l< r) {tmp = array[l];
            array[l] = array[r];
            array[r] = tmp;
        }
    }
    array[low] = array[l];
    array[l] = pivot;
    if (low< l) {sortMe(array, low, l - 1);
    }
    if (r< high) {sortMe(array, r + 1, high);
    }
}

2. 安卓Kotlin版

开发工具:下载Android Studio

private fun sort(array: IntArray) {sortMe(array, 0, array.size - 1)
}

private fun sortMe(array: IntArray, low: Int, high: Int) {if (low >= high) {return
    }
    val pivot = array[low]
    var l = low
    var r = high
    var tmp: Int
    while (l< r) {while (l< r && array[r] >= pivot) {r--
        }
        while (l< r && array[l]<= pivot) {l++
        }
        if (l< r) {tmp = array[l]
            array[l] = array[r]
            array[r] = tmp
        }
    }
    array[low] = array[l]
    array[l] = pivot
    if (low< l) {sortMe(array, low, l - 1)
    }
    if (r< high) {sortMe(array, r + 1, high)
    }
}

3. NodeJS

开发工具:下载Visual Studio Code

function sort() {sortMe(0, array.length - 1);
  return convertToStr(array);
}

function sortMe(slow, fast) {let base = array[slow];
  array[slow] = 0;
  let left = slow;
  let right = fast;
  while (left< right) {if (array[left] === 0) {  if (array[right]< base) {array[left] = array[right];
        array[right] = 0;
        left = left + 1;
      }
      else {right = right - 1;
      }
    } else if (array[right] === 0) {  if (array[left] >= base) {array[right] = array[left];
        array[left] = 0;
        right = right - 1;
      }
      else {left = left + 1;
      }
    }
  }
  array[left] = base;
  if ((left - 1) - slow >0) {sortMe(slow, left - 1);
  }
  if (fast - (right + 1) >0) {sortMe(right + 1, fast);
  }
  return
}

4. Php

开发工具:下载Visual Studio Code

public function sort()
    {$array = [2, 1, 5, 4, 3];
        $result = $this->sortMe($array);
        return var_dump($result);
    }

    public function sortMe($arr)
    {$length = count($arr);
        if (!is_array($arr) || $length<= 1) {return $arr;
        }
        $baseValue = $arr[0];
        $leftArr = array();
        $rightArr = array();
        for ($i = 1; $i< $length; $i++) {if ($arr[$i]< $baseValue) {$leftArr[] = $arr[$i];
            } else {$rightArr[] = $arr[$i];
            }
        }
        $leftArr = $this->sortMe($leftArr);
        $rightArr = $this->sortMe($rightArr);
        return array_merge($leftArr, array($baseValue), $rightArr);
    }

5. Python

开发工具:下载PyCharm

array = [2, 1, 5, 4, 3]


def sort(array, low, high):
    if low >= high:
        return array
    i = low
    j = high
    pivot = array[low]
    while i< j:
        while i< j and array[j] >pivot:
            j -= 1
        array[i] = array[j]
        while i< j and array[i]< pivot:
            i += 1
        array[j] = array[i]
    array[j] = pivot

    sort(array, low, j - 1)
    sort(array, j + 1, high)

    return

6. Swift(SwiftUI版)

开发工具:XCode(mac电脑自带)

var array = [2, 1, 5, 4, 3]
func sort() {sortMe(array: &array, left: 0, right: array.count - 1)
}

func sortMe(array: inout [Int], left: Int, right: Int) {if right - left<= 0 {return
    }
    
    var flagIndex = left
    let flagValue = array[left]
    
    for index in stride(from: left + 1, to: right + 1, by: 1) {let value = array[index]
        if value< flagValue {array[flagIndex] = value
            flagIndex += 1
            array[index] = array[flagIndex]
            array[flagIndex] = flagValue
        }
    }
    
    sortMe(array: &array, left: left, right: flagIndex - 1)
    sortMe(array: &array, left: flagIndex + 1, right: right)
}

7. uni-app

开发工具:下载HBuilderX

sort() {let array = this.array;
	this.sortMe(array, 0, array.length - 1);
	this.array = array
	this.arrayStr = this.convertToStr(array)
},
sortMe(array: number[], low: number, high: number) {if (low >= high) {return;
	}
	var index = array[low];
	var i = low;
	var j = high;
	while (i< j) {while (i< j && array[j] >= index) {	j--;
		}
		if (i< j) {	array[i] = array[j];
			i++;
		}
		while (i< j && array[i]< index) {	i++;
		}
		if (i< j) {	array[j] = array[i];
			j--;
		}
	}
	array[i] = index;
	this.sortMe(array, low, i - 1);
	this.sortMe(array, i + 1, high);
},

8. vue

开发工具:下载Visual Studio Code

9. 微信小程序

开发工具:下载微信开发者工具

sort() {let array = this.data.array;
  this.sortMe(array, 0, array.length - 1);
  this.setData({array: array,
    arrayStr: this.convertToStr(array),
  })
},
sortMe(array: number[], low: number, high: number) {if (low >= high) {return;
  }
  var index = array[low];
  var i = low;
  var j = high;
  while (i< j) {while (i< j && array[j] >= index) {  j--;
    }
    if (i< j) {  array[i] = array[j];
      i++;
    }
    while (i< j && array[i]< index) {  i++;
    }
    if (i< j) {  array[j] = array[i];
      j--;
    }
  }
  array[i] = index;
  this.sortMe(array, low, i - 1);
  this.sortMe(array, i + 1, high);
},

10. 鸿蒙(ArkTS)

开发工具:下载DevEco Studio

sort() {let array = this.array;
    this.sortMe(array, 0, array.length - 1);
    this.array = array
  }

  sortMe(array: number[], low: number, high: number) {if (low >= high) {  return;
    }
    var index = array[low];
    var i = low;
    var j = high;
    while (i< j) {  while (i< j && array[j] >= index) {j--;
      }
      if (i< j) {array[i] = array[j];
        i++;
      }
      while (i< j && array[i]< index) {i++;
      }
      if (i< j) {array[j] = array[i];
        j--;
      }
    }
    array[i] = index;
    this.sortMe(array, low, i - 1);
    this.sortMe(array, i + 1, high);
  }

11. Go语言

开发工具:下载Visual Studio Code

func sort(left int, right int, array *[5]int) {l := left
	r := right
	pivot := array[(left+right)/2]
	tmp := 0
	for l< r {for array[l]< pivot {	l++
		}
		for array[r] >pivot {	r--
		}
		if l >= r {	break
		}
		tmp = array[l]
		array[l] = array[r]
		array[r] = tmp
		if array[l] == pivot {	r--
		}
		if array[r] == pivot {	l++
		}
	}
	if l == r {l++
		r--
	}
	if left< r {sort(left, r, array)
	}
	if right >l {sort(l, right, array)
	}
}

12. Java

开发工具:下载IntelliJ IDEA

private static void sort(int[] array) {sortMe(array, 0, array.length - 1);
}

public static void sortMe(int[] array, int low, int high) {if (low >= high) {return;
    }
    int pivot = array[low];
    int l = low;
    int r = high;
    int tmp;
    while (l< r) {while (l< r && array[r] >= pivot) {r--;
        }
        while (l< r && array[l]<= pivot) {l++;
        }
        if (l< r) {tmp = array[l];
            array[l] = array[r];
            array[r] = tmp;
        }
    }
    array[low] = array[l];
    array[l] = pivot;
    if (low< l) {sortMe(array, low, l - 1);
    }
    if (r< high) {sortMe(array, r + 1, high);
    }
}

13. Kotlin

开发工具:下载IntelliJ IDEA

private fun sort(array: IntArray) {sortMe(array, 0, array.size - 1)
}

fun sortMe(array: IntArray, low: Int, high: Int) {if (low >= high) {return
    }
    val pivot = array[low]
    var l = low
    var r = high
    var tmp: Int
    while (l< r) {while (l< r && array[r] >= pivot) {r--
        }
        while (l< r && array[l]<= pivot) {l++
        }
        if (l< r) {tmp = array[l]
            array[l] = array[r]
            array[r] = tmp
        }
    }
    array[low] = array[l]
    array[l] = pivot
    if (low< l) {sortMe(array, low, l - 1)
    }
    if (r< high) {sortMe(array, r + 1, high)
    }
}

14. Flutter

开发工具:下载IntelliJ IDEA

Listsort(Listlist) {if (list.length< 2) {return list;
  } else {var pivot = list[0];
    var less =[];
    var greater =[];
    list.removeAt(0);
    for (var i in list) {  if (i<= pivot) {less.add(i);
      } else {greater.add(i);
      }
    }
    return sort(less) + [pivot] + sort(greater);
  }
}

15. C语言

开发工具:下载Visual Studio

void sortMe(int* array, int low, int high)
{if (low >= high)
    {return;
    }
    int index = array[low];
    int i = low;
    int j = high;
    while (i< j)
    {while (i< j && array[j] >= index)
        {j--;
        }
        if (i< j)
        {array[i] = array[j];
            i++;
        }
        while (i< j && array[i]< index)
        {i++;
        }
        if (i< j)
        {array[j] = array[i];
            j--;
        }
    }
    array[i] = index;
    sortMe(array, low, i - 1);
    sortMe(array, i + 1, high);
}

void sort(int* array, int count)
{sortMe(array, 0, count - 1);
}

16. C++

开发工具:下载Visual Studio

void sortMe(int* array, int low, int high)
{if (low >= high)
    {return;
    }
    int index = array[low];
    int i = low;
    int j = high;
    while (i< j)
    {while (i< j && array[j] >= index)
        {j--;
        }
        if (i< j)
        {array[i] = array[j];
            i++;
        }
        while (i< j && array[i]< index)
        {i++;
        }
        if (i< j)
        {array[j] = array[i];
            j--;
        }
    }
    array[i] = index;
    sortMe(array, low, i - 1);
    sortMe(array, i + 1, high);
}


void sort(int* array, int count)
{sortMe(array, 0, count - 1);
}

17. C#

开发工具:下载Visual Studio

private static void Sort(int[] array)
{SortMe(array, 0, array.Length - 1);
}
private static void SortMe(int[] array, int low, int high)
{if (low >= high)
    {return;
    }
    int index = array[low];
    int i = low;
    int j = high;
    while (i< j)
    {while (i< j && array[j] >= index)
        {j--;
        }
        if (i< j)
        {array[i] = array[j];
            i++;
        }
        while (i< j && array[i]< index)
        {i++;
        }
        if (i< j)
        {array[j] = array[i];
            j--;
        }
    }
    array[i] = index;
    SortMe(array, low, i - 1);
    SortMe(array, i + 1, high);
}

关于

厦门大学计算机专业|华为八年高级工程师
专注《零基础学编程系列》 http://lblbc.cn/blog
包含:Java | 安卓 | 前端 | Flutter | iOS | 小程序 | 鸿蒙
公众号:蓝不蓝编程

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享名称:17种编程语言实现排序算法-快速排序-创新互联
当前URL:http://cdxtjz.cn/article/csccgj.html

其他资讯