let arr = [2,5,6,3,1,7]
let BubbleSort = function(arr){
for(let i =0;i<arr.length;i++){
for(let j =i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
let tmp = arr[i]
arr[i] = arr[j]
arr[j] = tmp
}
}
}
}
BubbleSort(arr)
console.log(arr)
let SelectSort = function(arr){
for(let i = 0;i<arr.length;i++){
let minIndex = i
for(let j = i+1;j<arr.length;j++){
if(arr[j]<arr[minIndex]){
minIndex = j
}
}
let tmp = arr[minIndex]
arr[minIndex] = arr[i]
arr[i] = tmp
}
}
SelectSort(arr)
console.log(arr)
let quickSort = function(arr){
quickSortFunc(arr,0,arr.length-1)
}
let quickSortFunc = function(arr,le,ri){
if(le>=ri){
return
}
let mid = partition(arr,le,ri)
quickSortFunc(arr,le,mid-1)
quickSortFunc(arr,mid+1,ri)
}
let partition = function(arr,le,ri){
let pivot = le
let l = le+1
let r = ri
while(l<r){
while(l<r&&arr[l]<=arr[pivot]){
l++
}
if(l!=r){
swap(arr,l,r)
r--
}
}
if(l==r&&arr[r]>arr[pivot]){r--}
swap(arr,r,pivot)
return r
}
let swap = function(arr,l,r){
let tmp = arr[l]
arr[l] = arr[r]
arr[r] = tmp
}
quickSort(arr)
console.log(arr)