//그냥 index 를 뽑아라 근데 sort 를 사용해서 빠르게 하는 방식일뿐;
var index = 0;
const binarySearch = function (arr1, iindex) {
var point_f = 0;
var point_s = arr1.length - 1;
var mid = Math.ceil(arr1.length / 2);
if (arr1[mid] > iindex) {
arr1.splice(mid);
}
else if (arr1[mid] < iindex) {
arr1.splice(0, mid);
index += mid;
console.log(arr1)
}
else if (arr1[mid] == iindex) {
index += arr1.length - 1;
console.log(index);
index = 0;
return;
}
else if (arr1[point_f] == iindex) {
console.log(index);
return;
}
else if (arr1[point_s] == iindex) {
index += 1;
console.log(index);
return;
}
return binarySearch(arr1, iindex);
}
binarySearch([1, 2, 3, 4, 5], 2);
binarySearch([1, 2, 3, 4, 5], 3);
binarySearch([1, 2, 3, 4, 5], 5);
binarySearch([5, 6, 10, 13, 14, 18, 30, 34, 35, 37, 40, 44, 64, 79, 84, 86, 95, 96, 98, 99], 10);
binarySearch([5, 6, 10, 13, 14, 18, 30, 34, 35, 37, 40, 44, 64, 79, 84, 86, 95, 96, 98, 99], 95);
//binarySearch([1, 2, 3, 4, 5], 6);
//선택 정렬=>그냥 나는 재귀 할래용
const selection_arr = function (arr) {
const result_arr = [];
var num = 0;
var length_arr = arr.length;
const recursion_arr = function (arr1, num1, final_number) {
if (num1 == final_number) {
return;
}
console.log(num1);
var length_arr = arr1.length;
// var start = 0; //index first number 바뀌지는 않고
var min = arr1[num1];
for (var i = num1 + 1; i < length_arr; i++) {
if (arr1[i] < min) {
min = arr1[i];
}
}
console.log(min);
var number = arr1.indexOf(min);
var chnage_num = 0;
chnage_num = arr1[num1];
arr1[num1] = arr1[number];
arr1[number] = chnage_num;
console.log(arr1);
num1 = num1 + 1;
return recursion_arr(arr1, num1, final_number);
}
recursion_arr(arr, num, length_arr);
}
selection_arr([19, 44, 38, 5, 47, 15])
//선택 정렬=>그냥 나는 재귀 할래용
const selection_arr = function (arr) {
//귀찮으니까 내충 그뭐냐 빠른 코딩 ㅎㅎ
var num = 1;
var num_max = arr.length;
const new_arr = function (arr, num, num_max) {
if (num == num_max) {
return new_arrr;
}
var arr_1 = arr.slice(0, num + 1);
var arr_2 = arr.slice(num + 1);
var index = 0;
// 지금 i 가 이동하는 식으로 되어 있잖아?
var cc = 0;
for (var i = num; i > 0; i--) {
if (arr_1[num] < arr_1[i]) {
index = i;
cc = 1;
}
}
if (cc == 1) {
var not_change = arr_1[num];
arr_1.splice(index, 0, not_change);
arr_1.splice(num + 1, 1);
}
var new_arrr = arr_1.concat(arr_2);
num = num + 1;
console.log(new_arrr);
return new_arr(new_arrr, num, num_max);
}
new_arr(arr, num, num_max)
}
selection_arr([3, 44, 38, 5, 47, 15])