鱼C论坛

 找回密码
 立即注册
楼主: 不二如是

[每日一练] 算法7 ◉‿◉ 冒泡排序

[复制链接]
发表于 2018-9-11 20:47:11 | 显示全部楼层
kankan
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-13 11:51:27 | 显示全部楼层
这是一个回复
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-18 09:11:06 | 显示全部楼层
学习一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-21 20:19:53 | 显示全部楼层
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.         <title>7</title>
  5.         <meta charset="utf-8">
  6.         <script type="text/javascript">
  7.                 window.onload=function(){
  8.                         var isp1=document.getElementById("isp1");
  9.                         var isp2=document.getElementById("isp2");
  10.                         // 生成随机10个数列表
  11.                         var rlist=new Array()
  12.                         for(var i=0;i<20;i++){
  13.                                 rlist.push(Math.floor(Math.random()*100+1));
  14.                         }
  15.                         // 显示原始的列表
  16.                         var rarray="";
  17.                         for(var each=0;each<rlist.length;each++){
  18.                                 rarray+=rlist[each]+",";
  19.                         }
  20.                         isp1.innerHTML="原始随机列表=["+rarray+"]";
  21.                         //显示排序后的列表
  22.                         var larray="";
  23.                         llist=paixu(rlist);
  24.                         for(var k=0;k<llist.length;k++){
  25.                                 larray+=llist[k]+",";
  26.                         }

  27.                         isp2.innerHTML="排序后的列表=["+larray+"]";
  28.                 }
  29.                 // 排序方法
  30.                 function paixu(listb){
  31.                         var temp=0;
  32.                         for(var m=0;m<listb.length;m++){
  33.                                 for(var j=0;j<listb.length-1;j++){
  34.                                         if(listb[j+1]<listb[j]){
  35.                                                 temp=listb[j];
  36.                                                 listb[j]=listb[j+1];
  37.                                                 listb[j+1]=temp;
  38.                                         }
  39.                                 }
  40.                         }
  41.                         return listb;
  42.                 }
  43.                
  44.         </script>
  45. </head>
  46. <body>
  47.         <p id="isp1"></p>
  48.         <p id="isp2"></p>
  49. </body>
  50. </html>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-23 16:02:37 | 显示全部楼层
emm
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-24 21:14:24 | 显示全部楼层
支持
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-10-8 15:43:08 | 显示全部楼层
这是要做动画吗,第一次碰完全没有思路耶.......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-8 15:58:18 | 显示全部楼层
本帖最后由 凌乱大帅比 于 2018-10-8 15:59 编辑

额,,,好吧,还是没做动画,但是我发现更易理解的【程序分析】版本,把他翻译成程序


  1. let A=2,B=1,nums=[A,B,52,45,62]
  2. while(不从小到大排序){
  3.         if(A>B){
  4.                 A和B换位置,然后B在和52比较......
  5.         }       
  6. }
复制代码


这其实就是一个从小到大排序的功能,个人感觉一点跟小时候数学题放水节水的问题有点像了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-9 11:25:28 | 显示全部楼层
瞄瞄
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-10-24 14:17:32 | 显示全部楼层
<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
        </head>
        <body>
                <script>
                        var arr = [3,2,4,6,8,1];
                        var temp;
                        for(var i=0;i<arr.length;i++){
                                for(var j=i+1;j<arr.length;j++){
                                        if(arr[i]>arr[j]){
                                                temp = arr[j];
                                                arr[j] = arr[i];
                                                arr[i] = temp;
                                        }
                                }
                        }
                        document.write(arr);
                </script>
        </body>
</html>
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-12 21:32:17 | 显示全部楼层
我要看代码!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-4 16:48:57 | 显示全部楼层
很有意思
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-5 13:23:11 | 显示全部楼层
666
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-25 10:07:25 | 显示全部楼层
  1. var a = [3,1,4,5,2,0]
  2.                 // 冒泡排序
  3.                 function fF(array) {
  4.                         // 传入一个数组
  5.                         var big;
  6.                         var c = 0;
  7.                         while (c <= 6) {
  8.                                 for (var i = 0; i < array.length - c; i ++) {
  9.                                         if (array[i] > array[i + 1]) {
  10.                                                 big = array[i];
  11.                                                 array[i] = array[i + 1];
  12.                                                 array[i + 1] = big;

  13.                                                 alert(array[i] + " + " + array[i + 1])
  14.                                         }
  15.                                 }
  16.                                 console.log(c);
  17.                                 c += 1;
  18.                                 if (c == 6) {
  19.                                         console.log(array);
  20.                                         break;
  21.                                 }
  22.                         }       
  23.                        
  24.                 }
  25.                 fF(a);
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-19 14:20:58 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-3-31 16:54:58 | 显示全部楼层
看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-3 09:22:52 | 显示全部楼层
冒泡排序
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-17 22:38:09 | 显示全部楼层
学习
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-17 22:49:31 | 显示全部楼层
答案
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-23 01:42:51 | 显示全部楼层
  1.         //从大到小排序
  2.         var arr = [5,4,6,3,2,1];
  3.         for (var i=0 ; i<arr.length-1 ; i++){
  4.                 var judge = true; //判断是否排序完成
  5.                 for (var j=0 ; j<arr.length-i ; j++){
  6.                         if (arr[j] > arr[j+1]){
  7.                                 var temp;
  8.                                 temp = arr[j];
  9.                                 arr[j] = arr[j+1];
  10.                                 arr[j+1] = temp;
  11.                                 judge = false;
  12.                         }
  13.                 }
  14.                 if (judge == true){
  15.                         break;
  16.                 }
  17.         }
  18.         console.log(arr.toString());
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-13 02:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表