<p>排序算法有多种,这里提供三种不同的排序算法的 JS 源码示例:</p>
<h3>1. 冒泡排序</h3>
<pre><code class="language-javascript"><script>
  function bubbleSort(arr) {
    var len = arr.length;
    for (var i = 0; i < len - 1; i++) {
      for (var j = 0; j < len - i - 1; j++) {
        if (arr[j] > arr[j + 1]) {
          var temp = arr[j];
          arr[j] = arr[j + 1];
          arr[j + 1] = temp;
        }
      }
    }
    return arr;
  }
<p>var arr = [64, 34, 25, 12, 22, 11, 90];
console.log('Original array: ' + arr);
var sortedArr = bubbleSort(arr);
console.log('Sorted array: ' + sortedArr);
</script></code></pre></p>
<h3>2. 插入排序</h3>
<pre><code class="language-javascript"><script>
  function insertionSort(arr) {
    var len = arr.length;
    for (var i = 1; i < len; i++) {
      var key = arr[i];
      var j = i - 1;
      while (j >= 0 && arr[j] > key) {
        arr[j + 1] = arr[j];
        j = j - 1;
      }
      arr[j + 1] = key;
    }
    return arr;
  }
<p>var arr = [64, 34, 25, 12, 22, 11, 90];
console.log('Original array: ' + arr);
var sortedArr = insertionSort(arr);
console.log('Sorted array: ' + sortedArr);
</script></code></pre></p>
<h3>3. 快速排序</h3>
<pre><code class="language-javascript"><script>
  function quickSort(arr, left, right) {
    if (left < right) {
      var pivot = partition(arr, left, right);
      quickSort(arr, left, pivot - 1);
      quickSort(arr, pivot + 1, right);
    }
    return arr;
  }
<p>function partition(arr, left, right) {
var pivot = arr[right];
var i = left - 1;
for (var j = left; j &lt; right; j++) {
if (arr[j] &lt;= pivot) {
i++;
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
var temp = arr[i + 1];
arr[i + 1] = arr[right];
arr[right] = temp;
return (i + 1);
}</p>
<p>var arr = [64, 34, 25, 12, 22, 11, 90];
console.log('Original array: ' + arr);
var sortedArr = quickSort(arr, 0, arr.length - 1);
console.log('Sorted array: ' + sortedArr);
</script></code></pre></p>
<p>这些代码示例展示了三种常用的排序算法,您可以根据需要选择合适的算法来对您的数据进行排序。  </p>
JavaScript 排序算法示例:冒泡排序、插入排序、快速排序

原文地址: https://www.cveoy.top/t/topic/mx2O 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录