`
Aaronlong31
  • 浏览: 5504 次
  • 性别: Icon_minigender_1
  • 来自: 仙桃
最近访客 更多访客>>
社区版块
存档分类
最新评论

我刚写的一个图形化显示排序,大家帮忙看看

阅读更多
放在我的博客上了,地址:
http://www.zlong.org/js-practice/imgswap.html

暂时只有冒泡排序和快速排序,其他的以后会加上。

现在加上了合并排序,这个稍微有点麻烦,冒泡和快速有交换的,这个没有,不过还好,解决了。

加上了速度选择。

加上了堆排序、选择排序和插入排序。

这里的step并不是很准确,因为如在数组中,将a[10]插入到a[1]和a[2]之间,需要将a[2]到a[9]的元素全部后移,再将a[10]放到a[2]上,在页面中,只需要将a[10]直接插入到a[2]之前就行了。




  • 大小: 85.3 KB
  • 大小: 77.1 KB
分享到:
评论
34 楼 tfwin2 2011-04-07  
很好,头一次看到,对排序了解太少!
33 楼 housheng33 2011-04-05  
雷锋多着了~
好雷锋
32 楼 findhappy7 2011-04-04  
怎么那么多人投 隐藏??顶,,,
31 楼 ericslegend 2011-04-04  
牛逼,把速度调慢点就可以形象化的显示各个排序了,不过觉得柱状一个个往下减的效果有点~~
30 楼 Aaronlong31 2011-04-03  
jamesmos 写道
Aaronlong31 写道
jamesmos 写道
非常赞。

就细节上给出两或三点建议:
1. 增加步进功能。现在的速度还是太快了,如果有单步和单次的按钮,演示效果可能会更好。所谓单步,就是点一下动一下;单次,则是点了之后,当前这一个元素排好序就暂停下来。
2. 配合第一条,添加暂停/继续功能
*3. 我经过几次尝试才意识到speed那个数字其实是interval的时间间隔,但这真的很不直观,如果要做演示功能,用更容易理解的表达方式,比如帧/秒


谢谢你的建议,不过由于javascript没有像java那样的暂停方法,所以不是很好实现你要的效果。


加个全局变量,在每次setTimeout的时候检测一下就行。


其实我在对数组排序时,就设置好了setTimeout,当你看到图形化显示时,所有的setTimeout方法已经调用完了,这时候再去改变setTimeout里的时间,就不好改了。
29 楼 jamesmos 2011-04-02  
Aaronlong31 写道
jamesmos 写道
非常赞。

就细节上给出两或三点建议:
1. 增加步进功能。现在的速度还是太快了,如果有单步和单次的按钮,演示效果可能会更好。所谓单步,就是点一下动一下;单次,则是点了之后,当前这一个元素排好序就暂停下来。
2. 配合第一条,添加暂停/继续功能
*3. 我经过几次尝试才意识到speed那个数字其实是interval的时间间隔,但这真的很不直观,如果要做演示功能,用更容易理解的表达方式,比如帧/秒


谢谢你的建议,不过由于javascript没有像java那样的暂停方法,所以不是很好实现你要的效果。


加个全局变量,在每次setTimeout的时候检测一下就行。
28 楼 zhoushuping 2011-04-02  
赞一个
27 楼 Aaronlong31 2011-04-02  
jamesmos 写道
非常赞。

就细节上给出两或三点建议:
1. 增加步进功能。现在的速度还是太快了,如果有单步和单次的按钮,演示效果可能会更好。所谓单步,就是点一下动一下;单次,则是点了之后,当前这一个元素排好序就暂停下来。
2. 配合第一条,添加暂停/继续功能
*3. 我经过几次尝试才意识到speed那个数字其实是interval的时间间隔,但这真的很不直观,如果要做演示功能,用更容易理解的表达方式,比如帧/秒


谢谢你的建议,不过由于javascript没有像java那样的暂停方法,所以不是很好实现你要的效果。
26 楼 jamesmos 2011-04-02  
非常赞。

就细节上给出两或三点建议:
1. 增加步进功能。现在的速度还是太快了,如果有单步和单次的按钮,演示效果可能会更好。所谓单步,就是点一下动一下;单次,则是点了之后,当前这一个元素排好序就暂停下来。
2. 配合第一条,添加暂停/继续功能
*3. 我经过几次尝试才意识到speed那个数字其实是interval的时间间隔,但这真的很不直观,如果要做演示功能,用更容易理解的表达方式,比如帧/秒
25 楼 Aaronlong31 2011-04-02  
qzxfl008 写道
不错,不过我感觉有点快,我有个flash版的比较清楚

速度可以设置的,我待会加进去。
24 楼 qzxfl008 2011-04-02  
不错,不过我感觉有点快,我有个flash版的比较清楚
23 楼 qrg 2011-04-01  
哥看了,内牛满面...
22 楼 Aaronlong31 2011-04-01  
sdnasky 写道
D:\jdk1.6.0_20\demo\applets\SortDemo\example1.html


我以前还真没发现有这个文件的。
21 楼 zyl324 2011-04-01  
好想法,羡慕了。
20 楼 sdnasky 2011-04-01  
D:\jdk1.6.0_20\demo\applets\SortDemo\example1.html
19 楼 Aaronlong31 2011-04-01  
i2534 写道
注意限制下init的数目.我的FF4.0在400的情况下运行很缓慢.


我已经对Init的输入做了限制,最大500。
数多了,运行起来肯定有点慢的。
18 楼 i2534 2011-04-01  
注意限制下init的数目.我的FF4.0在400的情况下运行很缓慢.
17 楼 arrongao 2011-04-01  
不错,试一试
16 楼 zhangcs053 2011-04-01  
有一个网站也不错。http://coolshell.cn/articles/3933.html
15 楼 Aaronlong31 2011-04-01  
laitaogood 写道
哈,我开始还以为是楼主盗用日本那个程序员写的那个图形化排序算法呢。。。
那个网站我是在coolshell看到的


我之前是看了日本的那个,但没看源代码。我的这个只是效果和他的一样,内部的算法和js处理都是自己写的。

相关推荐

    Android-Android图形化展示排序算法

    "Android-Android图形化展示排序算法"项目,就是这样一个旨在通过视觉效果来演示排序过程的应用。 在Android应用中实现图形化排序算法,首先需要了解各种基本的排序算法,例如冒泡排序、选择排序、插入排序、快速...

    图形化编程实现冒泡排序(Scratch)

    少儿编程的算法比较少,这个Scratch文件结合了数据结构里的经典算法——冒泡排序,给出了实现过程。把少儿编程与算法结合到了一起

    拓扑排序和关键路径的图形化显示.zip

    数据结构课程设计项目,邻接链表、关键路径以及拓扑排序的图形化显示,主要涉及到的技术有:前端、echarts、electron 给定一个有向图,完成: 建立并显示出它的邻接链表; 对该图进行拓扑排序,显示拓扑排序的结果,...

    用c#编写的二叉树的图形化显示

    在C#编程环境中,我们可以利用Windows Forms来创建一个图形化界面,直观地展示二叉树的结构。本项目就是这样一个示例,通过C#实现二叉树的动态绘制,帮助用户理解和分析二叉树的形态。 首先,我们要了解二叉树的...

    Java排序(带图形界面)

    提供插入排序,选择排序,冒泡排序三种排序方法,对数据进行排序,并可以在图形界面演示排序过程。 执行语句:java sort <输入方式> <图形界面/非图形界面选择> <待排序数列> 例: java sort 0 643 323 12 3 523 23 ...

    排序算法的图形界面实现

    采用人性化的操作界面,体验算法的深奥与魅力,已经实现的算法包括红黑树,快速排序,堆排序,合并排序,插入排序,提供算法实现源代码,可任意拷贝使用,还会不断增加新的算法实现。 体会实现的算法,只需在右边...

    数据结构课设排序算法的可视化演示(QT+C++)

    数据结构是计算机科学中的核心课程...总的来说,"数据结构课设排序算法的可视化演示(QT+C++)"是一个综合性的项目,它涵盖了数据结构、算法、编程和可视化等多个方面,对于提升计算机科学学生的综合素质具有重要意义。

    简易 memcache 图形化管理器

    php memcache 图形化管理工具 This source file is subject to version 3.0 of the PHP license, that is bundled with this package in the file LICENSE, and is available through the world-wide-web at the ...

    C语言编写图形登陆界面

    在该资源中,我们使用了inputbox函数来创建一个输入框,cursor函数用于显示闪烁的光标。inputbox函数使用了getch函数来读取键盘输入的字符,并将其显示在图片上。在输入框中,我们还实现了删除键的处理,当用户按下...

    Windows平台下的图形化的Ping工具(2)(基于MFC的Dialog工程)

    在图形化ping工具中,Dialog工程将被用来构建一个包含输入字段(如IP地址)、按钮(如“开始ping”和“停止ping”)和结果显示区域的界面。 关于错误的修复,之前的问题可能出现在如何正确计算ping请求的平均响应...

    VC++下三维图形及其三视图显示算法实现

    总的来说,"VC++下三维图形及其三视图显示算法实现"是一个涉及广泛技术领域的课题,涵盖从基础理论到实践应用的多个层次。通过学习和实践,不仅可以掌握图形学的核心概念,还能提升在实际项目中的开发能力。

    Matlab Simulink三维图形显示模块

    sfunxyz.m可能是一个用户定义的S函数,用于生成三维坐标数据并将其显示在图形窗口中。这个函数可能接收输入参数,如时间、系统状态,然后输出相应的三维坐标。通过这种方式,用户可以创建定制的动态三维可视化效果。...

    图形化编程应用 Blockly

    Google Blockly 是一个图形化编程语言,它可以帮助你快速入门。这个网页应用让你可以将不同的模块拖拽到一起来创作程序,然后你可以将它们输出到真实的程序语言中(比如 C 语言)。 Blockly 包含了许多 App ...

    支持最新版本HBase的图形化管理工具/Hbase的GUI工具

    在大数据领域,HBase作为一款高可靠性、高性能、分布式的列式存储系统,被广泛用于处理海量数据。...对于需要管理和维护HBase的团队来说,这样的工具无疑是一个宝贵的资源,可以显著提高工作效率,减少出错的可能性。

    系统资源监视器(图形化显示cpu利用率,内存利用率,硬盘读取速度,网络使用情况等)C#

    系统资源监控器,实时读取系统各硬件的使用情况,并以图形界面直观的显示出来!系统资源监控器,实时读取系统各硬件的使用情况,并以图形界面直观的显示出来!系统资源监控器,实时读取系统各硬件的使用情况,并以...

    java图形化实现文件上传

    利用java图形化界面和网络编程相结合实现的--文件上传。 运行步骤: (1)分别运行工程两个包中的两个.java文件(UploadClient.java和UploadServer.java)分别会弹出“上传客服端”和“上传服务器”两个窗口。 ...

    计算机图形学实验代码(包括图形旋转、图形平移、图形缩放)

    这些函数可能会接受一个图形对象(如顶点数组)和变换参数(如旋转角度、平移距离和缩放因子),然后更新图形的顶点坐标以反映这些变换。 此外,压缩包中还包含测试图片,这些图片可能用于验证代码的正确性。通过...

    计算机图形学基础-pdf.zip

    2.6.4一个完整的OpenGL程序 第3章用户接口与交互式技术 3.1用户接口设计 3.1.1用户模型 3.1.2显示屏幕的有效利用 3.1.3反馈 3.1.4一致性原则 3.1.5减少记忆量 3.1.6回退和出错处理 3.1.7联机...

    图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细)

    适合新手,图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细) 适合新手,图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细) 适合新手,图书馆管理系统Python+MySQL+...

    linux图形化串口调试工具 XGCom

    一个Linux下的图形化的串口调试工具.帮助开发者调试串口程序.1.串口基本收发 2.串口配置(串口,速率,数据位,停止位,奇偶校验,数据控制) 3.串口配置的保存和载入(串口,速率,数据位,停止位,奇偶校验,数据控制) 4....

Global site tag (gtag.js) - Google Analytics