2016-07-12 3 views
-4

저는 Javascript를 처음 사용하기 때문에 숫자가 포함 된 배열을 가지고 있습니다.For 루프를 사용하여 숫자가 포함 된 배열을 정렬하십시오.

var arr = [2,4,8,1,5,9,3,7,6]; 

기본 For 루프를 사용하여 자바 스크립트에서 정렬 할 수 있습니까? 정렬 기능을 사용할 수 있지만 나는 그것을 통해 루프 싶어요.

출력은

var res = [1,2,3,4,5,6,7,8,9]; 
+2

* * "루프에 사용"- 아니 중첩 루프 또는 재귀, 루프 하나를? 이 숙제는 시작하기 전에 몇 가지 지침을 원하십니까? (나는 왜'.sort()'함수를 피하고 싶지 않은지 생각할 수 없다.) – nnnnnn

+1

그리고 지금까지 무엇을 시도 했습니까? – nils

+1

구현할 수있는 정렬 알고리즘에는 여러 가지가 있습니다 ... https://en.wikipedia.org/wiki/Sorting_algorithm 여기에는 아무 대답이 없습니다. 실용적인 실제 응답 *은'arr.sort()'입니다. – deceze

답변

2

내가 그런 일을 할 것 BE-해야 ...

var input = [2,3,8,1,4,5,9,7,6]; 
 

 
var output = []; 
 
var inserted; 
 

 
for (var i = 0, ii = input.length ; i < ii ; i++){ 
 
    inserted = false; 
 
    for (var j = 0, jj = output.length ; j < jj ; j++){ 
 
    if (input[i] < output[j]){ 
 
     inserted = true; 
 
     output.splice(j, 0, input[i]); 
 
     break; 
 
    } 
 
    } 
 
    
 
    if (!inserted) 
 
    output.push(input[i]) 
 
} 
 

 
console.log(output);

을 어쩌면 거기에 더 효율적인 방법이 있지만 사용하려는 경우 루프에 대한 나의 첫 번째 생각은 ... 희망이 도움이 되길 바랍니다.

1

var Arr = [1, 7, 2, 8, 3, 4, 5, 0, 9]; 
 

 
for (var i = 1; i < Arr.length; i++) 
 
    for (var j = 0; j < i; j++) 
 
     if (Arr[i] < Arr[j]) { 
 
      var x = Arr[i]; 
 
      Arr[i] = Arr[j]; 
 
      Arr[j] = x; 
 
     } 
 

 
console.log(Arr);

관련 문제