>  기사  >  웹 프론트엔드  >  주어진 배열을 증가하지 않는 순서로 정렬하는 데 필요한 회전 수를 계산하는 JavaScript 프로그램

주어진 배열을 증가하지 않는 순서로 정렬하는 데 필요한 회전 수를 계산하는 JavaScript 프로그램

WBOY
WBOY앞으로
2023-09-15 18:45:03673검색

JavaScript 程序计算以非递增顺序对给定数组进行排序所需的旋转次数

배열을 증가하지 않는 순서로 정렬하는 데 필요한 회전 수를 계산하는 프로그램을 작성하겠습니다. 프로그램은 루프를 사용하여 배열을 반복하고 지금까지 발견된 가장 큰 요소를 추적합니다. 더 작은 요소가 발견되면 스핀 수를 늘리고 가장 큰 요소를 업데이트합니다. 마지막으로 회전 횟수가 프로그램 결과로 반환됩니다. 이 프로그램은 배열을 효율적으로 정렬하고 비증가 순서를 달성하는 데 필요한 회전 수를 결정하는 데 도움이 됩니다.

방법

배열을 비증가순으로 정렬하는 데 필요한 회전을 계산하는 방법은 다음과 같습니다. -

  • 배열을 정렬된 부분과 정렬되지 않은 부분의 두 부분으로 나눕니다.

  • 필요한 회전 수는 정렬된 부분의 요소 수와 같습니다.

  • 정렬된 섹션을 찾으려면 배열을 오른쪽에서 왼쪽으로 탐색하면서 가장 큰 요소를 추적하세요.

  • 더 작은 요소가 발견되면 루프를 중단하고 정렬된 부분의 길이를 반환합니다.

  • 루프가 완료되면 전체 배열이 정렬되므로 0이 반환됩니다.

다음은 비증가순으로 배열을 정렬하는 데 필요한 회전 수를 계산하는 완전한 JavaScript 예입니다. -

으아악

지침

  • 함수 countRotations는 배열을 매개변수로 사용합니다.

  • n은 배열의 길이로 초기화됩니다.

  • minIndexminValue는 각각 0과 배열의 첫 번째 요소로 초기화됩니다.

  • for 루프는 두 번째 요소부터 시작하여 배열을 반복하여 배열에서 가장 작은 요소의 인덱스와 값을 찾습니다. 더 작은 요소가 발견되면 minIndexminValue가 해당 인덱스와 값으로 업데이트됩니다.

  • 마지막으로 함수는 배열을 증가하지 않는 순서로 정렬하는 데 필요한 회전 수인 minIndex, 를 반환합니다.

이 예에서 배열은 [15, 18, 2, 3, 6, 12],이고 가장 작은 요소는 2이며 는 인덱스 2에 있습니다. 배열을 오름차순이 아닌 순서로 정렬하려면, 2가 필요합니다. 배열의 끝에 배치하므로 필요한 회전 수는 2 >.

입니다.

위 내용은 주어진 배열을 증가하지 않는 순서로 정렬하는 데 필요한 회전 수를 계산하는 JavaScript 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제