js_javascript 기술에서 세 가지 정렬 알고리즘 공유
May 16, 2016 pm 05:50 PM
정렬 알고리즘
코드 복사 코드는 다음과 같습니다.
/**
* 값 교환 연산
* arr 연산 중인 배열
* i 연산 중인 요소의 인덱스 값
* j 연산 중인 두 요소 사이의 거리
*/
함수 Refer(arr , i, j){
varchange = (arr[i] - arr[i - j]) < ? true: false, value
if (change) value; = arr[ i];
arr[i] = arr[i - j];
arr[i - j] = value
returnargs.callee(arr, i - j, j);
}
else {
return arr;
}
}
//Insertion sort
function insert(array){
for (var i = 1, len = array.length; i < len i ) {
if (array[i] < array[i - 1]) {
refer(array, i, 1)
}
return array;
}
위 부분은 삽입 정렬이고, 그 다음에는 힐 정렬:
코드 복사 코드는 다음과 같습니다.
//Hill sortfunction shell(array){
var length = array.length, value; >for ( var i = Math.floor(length / 2); i > 0; i = Math.floor(i / 2)) {
for (var j = i; j if (array[j] < array[j - i]) {
refer(array, j, i)
}
else {
continue; 🎜>}
}
return array;
}
두 메소드에 사용된 참조 메소드는 동일합니다. 마지막으로 병합 정렬:
var length = array.length, value; >for ( var i = Math.floor(length / 2); i > 0; i = Math.floor(i / 2)) {
for (var j = i; j if (array[j] < array[j - i]) {
refer(array, j, i)
}
else {
continue; 🎜>}
}
return array;
}
두 메소드에 사용된 참조 메소드는 동일합니다. 마지막으로 병합 정렬:
코드 복사
코드는 다음과 같습니다. //병합 정렬 함수 순서(arr1, arr2){ var arrLong = arr1.length > arr2.length ? arr1 : arr2
var arrShort = arr1.length <= arr2.length ? 🎜>var arr = []; for (var i = 0, l = arrShort.length; i < l; i ) {
for (var j = 0, len = arrLong.length; j < ; len; j ) {
if (arrShort[i] < arrLong[j]) {
arr.push(arrShort[i])
if (i == l - 1) 🎜>for (var m = 0, n = arrLong.length; m < n; m ) {
arr[arr.length] = arrLong[m]
}
break; }
else {
arr.push(arrLong[j]);
arrLong.shift()
계속
}
}
return arr ;
}
좋은 제안이 있는 학생은 메시지를 남겨주세요! 여기서 자세히 설명할 필요 없이 코드만 살펴보세요.
for (var j = 0, len = arrLong.length; j < ; len; j ) {
if (arrShort[i] < arrLong[j]) {
arr.push(arrShort[i])
if (i == l - 1) 🎜>for (var m = 0, n = arrLong.length; m < n; m ) {
arr[arr.length] = arrLong[m]
}
break; }
else {
arr.push(arrLong[j]);
arrLong.shift()
계속
}
}
return arr ;
}
좋은 제안이 있는 학생은 메시지를 남겨주세요! 여기서 자세히 설명할 필요 없이 코드만 살펴보세요.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
2 포인트 박물관 : Bungle Wasteland Location Guide
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
2 포인트 박물관 : Bungle Wasteland Location Guide
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7114
9


자바 튜토리얼
1534
14


라라벨 튜토리얼
1254
25


PHP 튜토리얼
1205
29


Cakephp 튜토리얼
1153
46



구글은 AI를 이용해 10년 순위 알고리즘의 봉인을 깨고 매일 수조 번씩 실행되는데 네티즌들은 이것이 가장 비현실적인 연구라고 말한다.

Swoole Advanced: 멀티스레딩을 사용하여 고속 정렬 알고리즘을 구현하는 방법

MySQL과 Java를 사용하여 간단한 정렬 알고리즘 기능을 구현하는 방법
