-
原理:相邻两个依次比较
通俗来说:(升序)选择第一个和第二个比较,小的放前头,之后第二个和第三个比较,小的放前头,然后第三个和第四个比较,小的放前头.......等等,然后选出最大的放在最后,再重复上面步骤,但就不再比较那个所谓的‘最大数’。
降序同理。
嵌套循环,第一层循环,主要是为了循环出’最大值‘(or ‘最小值’)之后的剩余长度
第二层循环,主要是循环出大小值并交换位置,’最大值‘(or ‘最小值’) -
js代码:
最大值即升序:-------------------------------------------------------------------------- function maoPao(arr){ for(let i= 0;i<arr.length;i++){ for(let j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ [arr[j],arr[j+1]] = [arr[j+1],arr[j]] } } } return arr } var arr = [11,3,56,44,3,6,9,23,45,0] maoPao(arr) // 输出:[0, 3, 3, 6, 9, 11, 23, 44, 45, 56] 最小值即降序:-------------------------------------------------------------------------- if中‘>’改成‘<’ 好像就行了哈哈哈
网友评论