알고리즘 알고리즘 원위 :( + 데이터 구조 = 프로그램)
재검사 :
VAR의 도착 = [1, 3, 2, 2, 3, 4, 5, 6, 8, 9, 10, 10 ] 에 대한 ( VAR I = 0; I <arr.length; 내가 ++ ) { 대 ( VAR의 J = I + 1, J <arr.length, J ++ ) { 경우 (도착 [I] == 도착 [J]) { CONSOLE.LOG (도착 [I]); } } }
VAR OBJ = {}; VAR의 COUNT1 = 0 ; 위한 ( VAR 나는 = 0; 나는 <arr.length 난 ++ ) { COUNT1을 ++ ; 만약 (! OBJ [도착 [I]) { OBJ [도착 [I] = 참 ; } 다른 { CONSOLE.LOG (도착 [I]); } } 을 console.log ( 'COUNT1', COUNT1) // 最优
정렬 알고리즘 :
거품 정렬 기 :( 비교 +)
VAR의 도착 = [1, 34, 23, 5, 6, 34, 77, 14, 46, 76, 88 ] 에 대한 ( VAR의 J = 0; J <arr.length, J ++ ) { 대 ( VAR I = 0; I <arr.length; 내가 ++ ) { 경우 (도착 [I]> 도착 [I + 1 ]) { var에 임시 =의 도착 [I]; 도착 [I] =의 도착 [I + 1 ]; 도착 [난 + 1] = 온도를; } } } CONSOLE.LOG (도착);
VAR의 도착 = [1, 34, 23, 5, 6, 34, 77, 14, 46, 76, 88 ] 에 대한 ( VAR의 J = 0; J <arr.length, J ++ ) { 대 ( VAR I = 0; I <arr.length - J; 내가 ++ ) { 경우 (도착 [I]> 도착 [I + 1 ]) { var에 임시 =의 도착 [I]; 도착 [I] =의 도착 [I + 1 ]; 도착 [난 + 1] = 온도를; } } } CONSOLE.LOG (도착); // 最优
정렬 사용될 :( 선택 : 소량의 데이터)
VAR의 도착 = [1, 34, 23, 5, 6, 34, 77, 14, 46, 76, 88 ] 에 대한 ( VAR I = 0; I <arr.length; 내가 ++ ) { VAR의 최대 = 0 ; 대 ( VAR의 J = 0; J <arr.length - I, J ++ ) { 경우 (비교 (도착 [J], 도착 [최대])) { 최대 = J; } } 교환 (도착, 맥스 arr.length - I - 1 ); } CONSOLE.LOG (도착); 기능 비교 (a, b) { 경우 것은 (a> b) { 반환 참 ; } 다른 { 반환 거짓; } } 기능 교환 (도착, m, n)이 { var에 임시 =의 도착 [m]; 도착 [m] =의 도착 [N]; 도착 [N] = 온도; }