1.冒泡排序
基本思想:比较相邻的元素,如果第一个比第二个大,则交换位置,对没对相邻元素做同样的工作,从开始第一对到结尾的最后一对,以此类推,最后会按从小到大排好序。
<script>
var arr=[57,98,67,86,85]
var n=arr.length
//外层循环,冒泡次数
for(var i=0;i<n-1;i++){
//内循环比较相邻元素,如果第一个比第二个大,交换两个
for(var j=0;j<n-i-1;j++){
if(arr[j]>arr[j+1]){
var temp=arr[j]
arr[j]=arr[j+1]
arr[j+1]=temp
}
}
}
console.log(arr)
</script>
2.选择排序
基本思想:在要排列的一组数中,选出最小的一个数与第一个位置的数交换,然后再在剩下的数当中找到最小的数与第二个位置的数交换,直到所有的数都完成。
<script>
var arr = [96, 23, 86, 12, 76]
var temp = 0
var n = arr.length
//外循环,选择排序的次数,n-1次排序
for (var i = 0; i < n - 1; i++) {
var minIndex = i
//内存循环,找到未排序的最小数下标
for (var j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j
}
}
temp = arr[i]
arr[i] = arr[minIndex]
arr[minIndex] = temp
}
console.log(arr)
</script>