js数组冒泡排序

雨点打透心脏的1/2处 2023-06-05 08:10 84阅读 0赞

js数组的冒泡排序是最经典的一种排序方式(我以为)。

冒泡排序是吧一组数组的元素两两比较,交换位置,通过多轮比较,实现从大到小或者从小到大的排序。

  1. var arr = [1,0,5,6,3,9,22,49,20,11,78,9];
  2. // 创建一个新数组
  3. for(var i = 0; i <= arr.length-1; i++){
  4. // 外层循环控制比较几轮
  5. for(var j = 0; j <= arr.length-i-1; j++){
  6. // 内层循环控制每轮比较几个元素
  7. if(arr[j] > arr[j+1]){
  8. // 判断每一次比较的时候,两个数字的大小
  9. // arr[j]是第j个元素
  10. // arr[j+1]是第j+1 个元素
  11. //如果j > j + 1, 把j 和j+i交换,也就是把相对大的值往后排序 也就是从小到大排序
  12. //如果j < j + 1, 把相对小的值往后排 也就是从大到小排序
  13. var temp = arr[j];
  14. arr[j] = arr[j + 1];
  15. arr[j + 1] = temp;
  16. // 利用第三方变量交换j 和j + 1 的值
  17. }
  18. }
  19. }
  20. console.log(arr);

转载于:https://www.cnblogs.com/sandraryan/p/11367870.html

发表评论

表情:
评论列表 (有 0 条评论,84人围观)

还没有评论,来说两句吧...

相关阅读

    相关 js 冒泡排序

    冒泡排序 每次遍历时,从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,第二大

    相关 js 冒泡排序

    冒泡排序 每次遍历时,从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,第二大