算法---冒泡排序法

简介: 冒泡排序:通过对相邻元素的对比,并交换位置,一步一步的把一个元素给挑选出来。我们可以使用两层嵌套的for循环来实现这个过程,也就是实现冒泡排序://外层控制轮数for(var i=0;i

冒泡排序:

通过对相邻元素的对比,并交换位置,一步一步的把一个元素给挑选出来。

我们可以使用两层嵌套的for循环来实现这个过程,也就是实现冒泡排序:

复制代码
//外层控制轮数
for(var i=0;i<len;i++){
  //内层对数组元素进行冒泡选择
  for(var j=0;j<len-1-i;j++){
    //交互元素
    if(arr[j] > arr[j+1]){
    var temp = arr[j];
    arr[j] = arr[j+1];
    arr[j+1] = temp;    
    }
  }
}
复制代码

   

  下面是冒泡排序的完整代码。

复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <title>冒泡排序</title>
    <meta name="keywords" content="关键字列表" />
    <meta name="description" content="网页描述" />
    <link rel="stylesheet" type="text/css" href="" />
    <style type="text/css"></style>
    <script type="text/javascript">
    //参数数字数组
    function bubble(arr){
        //检查参数
        if(toString.call(arr) !== '[object Array]'){
            return false;
        }
        //获取数组长度
        var len = arr.length;
        if(len <= 1){//小于1不用排序
            return arr;
        }
        //外层控制轮数
        for(var i=0;i<len;i++){
            //标记是否有排序的元素
            var mark = true;
            //内层对数组元素进行冒泡选择
            for(var j=0;j<len-1-i;j++){
                //交互元素
                if(arr[j] > arr[j+1]){
                    mark = false;
                    var temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = temp;    
                }
            }
            if(mark){
            //当没有进行冒泡选择时,证明已经排序好了
                return arr;    
            }
        }
    }
    //测试
    var ar = [9,3,7,4,8,2,5,1,6,0];
    alert(bubble(ar));
    </script>
</head>
<body>

</body>
</html>
复制代码

 

相关文章
|
3月前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
155 67
|
4月前
|
搜索推荐
冒泡排序算法
【10月更文挑战第19天】冒泡排序是一种基础的排序算法,虽然在实际应用中可能不是最优的选择,但对于理解排序算法的基本原理和过程具有重要意义。
|
4月前
|
搜索推荐 C语言
排序算法--冒泡排序
排序算法--冒泡排序
30 0
|
4月前
|
算法 搜索推荐
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
本文介绍了冒泡排序、选择排序和插入排序三种基础排序算法的原理、实现代码和测试结果。
36 0
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
|
4月前
|
存储 搜索推荐 算法
【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
|
4月前
|
算法 Python
Python算法编程:冒泡排序、选择排序、快速排序
Python算法编程:冒泡排序、选择排序、快速排序
48 0
|
4月前
|
搜索推荐 算法 数据可视化
深入解析冒泡排序算法
深入解析冒泡排序算法
68 4
|
6月前
|
搜索推荐 Java
经典排序算法---冒泡排序
这篇文章详细介绍了冒泡排序算法的基本思想、比较轮数和次数,并提供了Java语言实现冒泡排序的代码示例,展示了如何通过相邻元素的比较和交换来达到排序的目的。
经典排序算法---冒泡排序
|
7月前
|
算法 PHP
【php经典算法】冒泡排序,冒泡排序原理,冒泡排序执行逻辑,执行过程,执行结果 代码
【php经典算法】冒泡排序,冒泡排序原理,冒泡排序执行逻辑,执行过程,执行结果 代码
48 1
|
8月前
|
搜索推荐 算法 大数据
​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
​【数据结构与算法】冒泡排序:简单易懂的排序算法解析

热门文章

最新文章