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

PHPz
풀어 주다: 2023-04-21 09:46:09
원래의
1081명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!