本文通过一个简单的小例子,简述冒泡算法在B/S中的简单使用,仅供学习分享使用,如有不足之处,还请指正。

概述

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。

它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。

效果图

本例是用Html展示,冒泡排序的例子,如下图所示:

核心算法

由于此算法相对比较简单,对此不再赘述,代码如下:

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <title>The nineth html page</title>
  5     <style type="text/css">
  6         ul li
  7         {  8             list-style-type:georgian;
  9             text-align:left;
 10          }
 11         .mark
 12         { 13             width:140px;
 14             height:40px;
 15             color:Olive;
 16             text-align:center;
 17             line-height:40px;
 18             margin:5px;
 19             float:left;
 20          }
 21           .redball
 22         { 23             width:40px;
 24             height:40px;
 25             border-radius:20px;
 26             background-color:Red;
 27             text-align:center;
 28             line-height:40px;
 29             margin:5px;
 30             float:left;
 31         }
 32         .ball
 33         { 34             width:40px;
 35             height:40px;
 36             border-radius:20px;
 37             background-color:Aqua;
 38             text-align:center;
 39             line-height:40px;
 40             margin:5px;
 41             float:left;
 42         }
 43         .line
 44         { 45             clear:left;
 46          }
 47         header
 48         { 49             height:80px;
 50             border:1px solid gray;
 51         }
 52         .left
 53         { 54             border:1px solid gray;
 55             float:left;
 56             width:30%;
 57             height:480px;
 58             margin-left:0px;
 59             margin-right:0px;
 60
 61         }
 62         aside
 63         { 64             text-align:center;
 65         }
 66         section
 67         { 68             width:69.5%;
 69             float:left;
 70             height:480px;
 71             border:1px solid gray;
 72             margin-left:0px;
 73             margin-right:0px;
 74         }
 75         footer
 76         { 77             clear:left;
 78             height:60px;
 79             border:1px solid gray;
 80         }
 81         input[type="button"]
 82         { 83             width:80px;
 84             text-align:center;
 85             margin-top:10px;
 86          }
 87     </style>
 88     <script type="text/javascript">
 89         function initDiv() {
 90             var mainArea = document.getElementById("mainArea");
 91             for (var i = 0; i < 8; i  ) {
 92                 var newDivLine = document.createElement("div");
 93                 newDivLine.setAttribute("class", "line");
 94                 mainArea.appendChild(newDivLine);
 95                 for (var j = 0; j < 9; j  ) {
 96                     var newDiv = document.createElement("div");
 97                     var id = i.toString()   j.toString();
 98                     newDiv.setAttribute("id", id);
 99                     if(j<8){
100                         newDiv.setAttribute("class", "ball");
101                     }else{
102                         newDiv.setAttribute("class", "mark");
103                     }
104                     newDivLine.appendChild(newDiv);
105                 }
106             }
107         }
108
109         //初始元素赋值
110         var arrTmp = [4, 6, 8, 7, 9, 2, 10, 1];
111         function setElementsValue() {
112             for (var i = 0; i < arrTmp.length; i  ) {
113                 document.getElementById("0" i.toString()).innerText=arrTmp[i];
114             }
115             document.getElementById("08").innerText="原始数据";
116         }
117
118         //冒泡排序
119         function setBubbleSortValue() {
120             for (var i = 0; i < arrTmp.length-1; i  ) {
121                 for (var j = 0; j < arrTmp.length - 1 - i; j  ) {
122                     if (arrTmp[j] > arrTmp[j   1]) {
123                         var tmp = arrTmp[j   1];
124                         arrTmp[j   1] = arrTmp[j];
125                         arrTmp[j] = tmp;
126                     }
127                 }
128                 //显示出来
129                 for (var k = 0; k < arrTmp.length; k  ) {
130                     document.getElementById((i   1).toString()   k.toString()).innerText = arrTmp[k];
131                     if (i   k == arrTmp.length - 1) {
132                         document.getElementById((i   1).toString()   k.toString()).setAttribute("class", "redball");
133                     }
134                 }
135                 document.getElementById((i   1).toString()   "8").innerText = "第 "   (i   1).toString()   " 排序";
136             }
137         }
138
139     </script>
140 </head>
141 <body>
142 <header>
143     <h1>Bubble Sort Demo</h1>
144 </header>
145 <aside class="left">
146
147 <input type="button" id="btnInit" value="Init" onclick="initDiv();" />
148 <br />
149 <input type="button" id="btnSetValue" value="SetValue" onclick="setElementsValue();" />
150 <br />
151 <input type="button" id="btnBubble" value="BubbleSort" onclick="setBubbleSortValue();" />
152 <br />
153 <h3>冒泡排序(Bubble Sort</h3>
154 <ul>
155     <li>比较相邻的元素。如果第一个比第二个大,就交换他们两个。</li>
156     <li>对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。</li>
157     <li>针对所有的元素重复以上的步骤,除了最后一个。</li>
158     <li>持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较</li>
159 </ul>
160 </aside>
161 <section id="mainArea">
162
163 </section>
164 <footer>
165     这是底部信息
166 </footer>
167 </body>
168 </html>

View Code

Html5 冒泡排序演示相关推荐

  1. html 输入数字冒泡,Html5 冒泡排序演示

    本文通过一个简单的小例子,简述冒泡算法在B/S中的简单使用,仅供学习分享使用,如有不足之处,还请指正. 概述 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访 ...

  2. gwt 嵌入html_GWT和HTML5画布演示

    gwt 嵌入html 这是我对GWT和HTML5 Canvas的第一个实验. 我的第一个尝试是创建矩形,仅用几行代码就得出了这样的内容: 码: public class GwtHtml5 implem ...

  3. GWT和HTML5 Canvas演示

    这是我对GWT和HTML5 Canvas的第一个实验. 我的第一个尝试是创建矩形,仅用几行代码就得出了这样的内容: 码: public class GwtHtml5 implements EntryP ...

  4. html5 自动 幻灯片,HTML5幻灯片演示系统免费版

    HTML5幻灯片演示系统免费版是一款基于HTML5的轻量级幻灯片播放系统,HTML5幻灯片演示系统免费版希望通过HTML5的技术,成为用户编辑.播放.控制幻灯片这一系列行为的全套方案的提供者. HTM ...

  5. 最好的 HTML5/CSS3 演示(PPT)框架

    随着互联网与信息技术的发展,人际之间的资源分享.观点碰撞越来越频繁.PPT是一个很好的展示和交流的方式,但是在网络实时呈现方面,桌面端的PPT程序显得无能为力.因此,基于web的内容展示应用需求激增, ...

  6. 6最好的之一 HTML5/CSS3 演示(PPT)框架

    HTML 是全世界最流行的网页编程语言.而HTML5是这门语言的升级版本号.越来越多的开发人员和设计师開始使用HTML5.以下介绍几个 HTML5/CSS3 的演示工具和框架,你能够用它们来创建你的网 ...

  7. html5炫酷作品源代码,8个超炫酷的HTML5动画演示及源码

    利用HTML5可以绘制很多静态的图像,也可以制作一些炫酷的动画,本文分享了8个利用HTML5和CSS3实现的动画演示,同时也分享了源代码供大家下载参考. 1.HTML5 3D点阵列波浪翻滚动画 这个H ...

  8. MindManager 2018有趣的HTML5互动演示

    MindManager 2018增加了新功能,HTML5互动视图导出,可在浏览器中浏览思维导图,消除内容与受众之间的障碍.下面是2018最新版本和2016版本的导出功能菜单面的对比. 相比2016,2 ...

  9. 自动转flash为html5,Adobe演示将Flash转换成HTML5

    因为苹果CEO乔布斯的原因,HTML5与Flash似乎有水火之势,然而哪里有需求哪里就有市场,Adobe近日就研发了一款工具,巧妙地化解了这一危机.在刚刚结束的MAX 2010大会上Adobe工程师R ...

最新文章

  1. 中国剩余定理matlab非互质,中国剩余定理模板(互质版和非互质版)
  2. 频谱仪使用方法图解_地暖分水器原理及使用方法介绍,图解
  3. mac 安装cmake
  4. Consumer搭建
  5. php环境编译成品,PHPweb成品网站安装环境要求和安装方法
  6. LeetCode 720. 词典中最长的单词(Trie树)
  7. transporter上传卡正在交付_Xcode11,Transporter上传卡在——正在验证 APP - 正在通过App Store进行认证...
  8. python django框架_Python Web框架【Django框架第一篇基础】
  9. 最佳海报样机模板|让作品脱颖而出
  10. 07-人脸识别-人脸矫正
  11. 每日算法系列【LeetCode 329】矩阵中的最长递增路径
  12. 最新BIOS设置中英文对照表
  13. 台式计算机的显卡,2019显卡天梯图 台式机显卡GPU桌面显卡排名
  14. 【每日一知】什么是TAOCP? (2021.02.07)
  15. 你知道吗?我喜欢你六年了——微博Redis定制化之路
  16. 搭建-ico图标制作
  17. Word生成目录后,前面还有摘要,怎么样让页码从正文第一页开始
  18. ai人工智能将替代人类_AI再次击败人类
  19. CMake中find_package的学习
  20. VUE集成echarts

热门文章

  1. mysql导入竖杠分割的数据_MYSQL :逗号分隔串表,分解成竖表
  2. java 生成校验验证码_java 验证码生成与校验
  3. python字符串startswith_Python 字符串 startswith() 使用方法及示例
  4. H3C 三种生成树协议特性的比较
  5. iOS 11 UICollectionView顶部出现白色间隔的问题
  6. (九十三)蓝牙的基本使用
  7. Android 4.4及以上系统下应用的状态栏颜色渐变效果的实现
  8. angularjs 服务
  9. NGUI中UILabel使用url标签的一个bug
  10. NYOJ-----最少乘法次数