`
Aaronlong31
  • 浏览: 5363 次
  • 性别: 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#实现二叉树的动态绘制,帮助用户理解和分析二叉树的形态。 首先,我们要了解二叉树的...

    排序算法的图形界面实现

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

    二叉排序树项目可视化图形界面

    本项目是针对数据结构课程设计的一次实践,通过C++语言实现了一个可视化的二叉排序树图形界面。这个项目不仅涵盖了二叉排序树的基本概念,还涉及到了图形用户界面(GUI)的开发,使得用户能够直观地观察和操作二叉...

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

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

    图形化WINFORM表单设计器

    图形化设计工具的一个关键特性是可视化布局,它通常通过网格系统、锚点定位或相对布局来实现。开发者可以通过调整控件的大小和位置,设置其对齐方式,确保在不同屏幕分辨率下,界面依然保持良好的视觉效果。 此外,...

    C语言编写图形登陆界面

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

    数据结构课程设计,最小生成树,采用MFC编写图形化界面

    在这个项目中,我们关注的是“最小生成树”问题,这是一个在图论和算法设计中常见的优化问题。最小生成树的构建目标是在保证连通性的前提下,找到一个边的集合,使得这些边构成的树的所有边权重之和最小。 首先,...

    java排序性能测试动画版(可看到移动或者比较等操作)

    设计一个由自动测试排序算法性能(比较次数compare_count、交换次数exchange_count、... 增加排序可视化功能,提示:初始化排序类的时候用图形显示排序的数据,进行移动或者比较等操作时,用图形演示动作影响的操作。

    java图形化界面实现的个人通讯录管理系统

    Java图形化界面实现的个人通讯录管理...总之,这个个人通讯录管理系统结合了Java GUI编程、数据管理、用户认证和权限控制等多个IT领域的核心知识点,是一个综合性的项目,对于学习和提升Java应用开发能力非常有帮助。

    简易 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 ...

    二叉树演示 实现二叉树图形显示

    总的来说,这个例子旨在通过图形化展示,使用户对二叉树有更直观的认识,同时也提供了实践二叉树操作的机会,对于初学者来说是一个很好的学习资源。通过理解二叉树的位置确定和显示方法,以及链表在其中的作用,可以...

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

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

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

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

    图形化编程应用 Blockly

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

    Matlab Simulink三维图形显示模块

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics