JS 배열 정렬 기법 집합 (거품, sort, 빠 른, 힐 등 정렬)
① 거품 정렬
bubbleSort:function(array){
var i = 0, len = array.length, j, d; for(; i
② js 정렬
systemSort:function(array)
{ return array.sort(function(a, b)
{ return a - b; });
}
③ 빠 른 정렬
quickSort:function(array)
{ //var array = [8,4,6,2,7,9,3,5,74,5]; //var array = [0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7];
var i = 0; var j = array.length - 1; var Sort = function(i, j){
//
if(i == j ){ return }; var key = array[i]; var tempi = i;
// var tempj = j; //
while(j > i){
// j <= key){ j--; }
else{
array[i] = array[j] //i++ ------------>>
while(j > ++i){ if(array[i] > key){
array[j] = array[i]; break;
}
}
}
} // key
if(tempi == i){
Sort(++i, tempj); return ;
}
//
key array[i] = key;
// Sort(tempi, i);
Sort(j, tempj); } Sort(i, j);
return array;
}
④ 힐 정렬
//Jun.array.shellSort(Jun.array.df(10000));
shellSort:function(array){
// var array = [13,14,94,33,82,25,59,94,65,23,45,27,73,25,39,10];
var tempArr = [1750, 701, 301, 132, 57, 23, 10, 4, 1];
// reverse()
//var tempArr = [1031612713, 217378076, 45806244, 9651787, 2034035, 428481, 90358, 19001, 4025, 836, 182, 34, 9, 1]
//
var i = 0; var tempArrtempArrLength = tempArr.length; var len = array.length; var len2 = parseInt(len/2); for(;i < tempArrLength; i++){
if(tempArr[i] > len2){ continue; } tempSort(tempArr[i]);
}
//
function tempSort(temp){
//console.log(temp)
var i = 0, j = 0, f, tem, key;
var tempLen = len%temp > 0 ? parseInt(len/temp) + 1 : len/temp;
for(;i < temp; i++){
//
for(j=1;/*j < tempLen && */temp * j + i < len; j++){
//
tem = f = temp * j + i; key = array[f];
while((tem-=temp) >= 0){
//
if(array[tem] > key){
array[tem+temp] = array[tem];
}else{ break;
}
} array[tem + temp ] = key;
}
}
} return array;
}
⑤ 정렬 삽입
insertSort:function(array){
/ /var array = [0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7];
var i = 1, j, temp, key, len = array.length;
for(; i < len; i++){
temp = j = i; key = array[j]; while(--j > -1){
if(array[j] > key){ array[j+1] = array[j]; }else{ break;
}
}
array[j+1] = key;
} return array;
}
첨부: js 의 배열 (Array) 정렬 (sort) 주의사항
var arrDemo = new Array();
arrDemo[0] = 10;
arrDemo[1] = 50;
arrDemo[2] = 51;
arrDemo[3] = 100;
arrDemo.sort(); // sort , ,
alert(arrDemo);//10,100,50,51 sort ascii ,
arrDemo.sort(function(a,b){return a>b?1:-1});//
alert(arrDemo);//10,50,51,100
arrDemo.sort(function(a,b){return a
결론:
1. 배열 이 sort 방법 을 호출 하면 그 자체 (새 배열 을 만 드 는 것 이 아니 라) 에 영향 을 줄 수 있 습 니 다. 2. sort () 방법 은 기본적으로 문자 로 정렬 되 기 때문에 디지털 배열 을 정렬 할 때 숫자 크기 로 정렬 할 것 이 라 고 생각 할 수 없습니다!3. 기본 sort 행동 을 바 꾸 려 면 정렬 규칙 함 수 를 스스로 지정 할 수 있 습 니 다 (예 를 들 어)
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.