>  기사  >  웹 프론트엔드  >  자바스크립트에서 숫자 집합을 크기 순으로 정렬하는 방법

자바스크립트에서 숫자 집합을 크기 순으로 정렬하는 방법

PHPz
PHPz원래의
2023-04-21 09:11:581134검색

JavaScript는 웹 개발, 게임 개발, 모바일 개발 및 기타 분야에서 많은 기능을 구현할 수 있는 널리 사용되는 프로그래밍 언어입니다. 실제 개발 과정에서 정렬 알고리즘은 일반적인 프로그래밍 문제 중 하나입니다. JavaScript를 사용하여 숫자 집합을 크기 순서대로 정렬하는 방법은 무엇입니까?

JavaScript는 이 문제를 해결하기 위해 다양한 정렬 알고리즘을 제공합니다. 이 기사에서는 일반적으로 사용되는 몇 가지 정렬 알고리즘을 소개합니다.

버블 정렬

버블 정렬은 인접한 두 숫자를 비교하는 간단한 정렬 알고리즘입니다. 이전 숫자가 다음 숫자보다 크면 두 숫자를 바꾸고 모든 숫자가 들어갈 때까지 이 과정을 반복합니다. 사이즈 순서.

다음은 버블 정렬의 JavaScript 구현입니다.

function bubbleSort(arr) {
  var len = arr.length;
  for (var i = 0; i < len - 1; i++) {
    for (var j = 0; j < len - 1 - i; j++) {
      if (arr[j] > arr[j + 1]) {
        var temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
  return arr;
}

var arr = [5, 3, 8, 4, 2];
console.log(bubbleSort(arr)); // [2, 3, 4, 5, 8]

선택 정렬

선택 정렬은 정렬할 배열에서 가장 작은 요소를 찾아 먼저 배치한 다음, 다음을 찾는 것입니다. 나머지 요소 중 가장 작은 요소를 제거하고 모든 요소가 정렬될 때까지 정렬된 요소 뒤에 차례로 배치합니다.

다음은 선택 정렬의 JavaScript 구현입니다.

function selectionSort(arr) {
  var len = arr.length;
  for (var i = 0; i < len - 1; i++) {
    var minIndex = i;
    for (var j = i + 1; j < len; j++) {
      if (arr[j] < arr[minIndex]) {
        minIndex = j;
      }
    }
    var temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;
  }
  return arr;
}

var arr = [5, 3, 8, 4, 2];
console.log(selectionSort(arr)); // [2, 3, 4, 5, 8]

삽입 정렬

삽입 정렬은 정렬할 요소를 정렬된 요소 중 적절한 위치에 삽입하는 것을 원칙으로 합니다. 삽입 정렬은 직접 삽입 정렬과 힐 정렬의 두 가지 유형으로 나누어집니다. 아래에서는 직접 삽입 정렬의 구현을 소개합니다.

다음은 삽입 정렬의 JavaScript 구현입니다.

function insertionSort(arr) {
  var len = arr.length;
  var preIndex, current;
  for (var i = 1; i < len; i++) {
    preIndex = i - 1;
    current = arr[i];
    while (preIndex >= 0 && arr[preIndex] > current) {
      arr[preIndex + 1] = arr[preIndex];
      preIndex--;
    }
    arr[preIndex + 1] = current;
  }
  return arr;
}

var arr = [5, 3, 8, 4, 2];
console.log(insertionSort(arr)); // [2, 3, 4, 5, 8]

빠른 정렬

빠른 정렬은 가장 일반적으로 사용되는 정렬 알고리즘 중 하나입니다. 그 원리는 정렬할 요소를 기본 요소에 따라 두 부분으로 나누는 것입니다. 왼쪽 부분은 기본 요소보다 작으며 오른쪽 부분은 기본 요소보다 크고 왼쪽 부분과 오른쪽 부분은 재귀적으로 정렬됩니다.

다음은 빠른 정렬의 JavaScript 구현입니다.

function quickSort(arr, left, right) {
  var len = arr.length,
    partitionIndex;
  left = typeof left != "number" ? 0 : left;
  right = typeof right != "number" ? len - 1 : right;

  if (left < right) {
    partitionIndex = partition(arr, left, right);
    quickSort(arr, left, partitionIndex - 1);
    quickSort(arr, partitionIndex + 1, right);
  }
  return arr;
}

function partition(arr, left, right) {
  var pivot = left,
    index = pivot + 1;
  for (var i = index; i <= right; i++) {
    if (arr[i] < arr[pivot]) {
      swap(arr, i, index);
      index++;
    }
  }
  swap(arr, pivot, index - 1);
  return index - 1;
}

function swap(arr, i, j) {
  var temp = arr[i];
  arr[i] = arr[j];
  arr[j] = temp;
}

var arr = [5, 3, 8, 4, 2];
console.log(quickSort(arr)); // [2, 3, 4, 5, 8]

요약

위는 버블 정렬, 선택 정렬, 삽입 정렬 및 빠른 정렬과 같이 일반적으로 사용되는 몇 가지 JavaScript 정렬 알고리즘입니다. 실제 개발 과정에서 다양한 시나리오에 따라 다양한 정렬 알고리즘을 선택하여 최적의 결과를 얻을 수 있습니다.

위 내용은 자바스크립트에서 숫자 집합을 크기 순으로 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.