`
Aaronlong31
  • 浏览: 5401 次
  • 性别: 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处理都是自己写的。

相关推荐

    多线程排序并图形化显示

    总结来说,"多线程排序并图形化显示"是一个结合了并行计算、线程同步、排序算法和图形界面编程的综合实践课题。通过这个项目,初学者可以深入理解多线程编程、排序算法以及如何在MFC中实现图形化界面的交互。在实际...

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

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

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

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

    Java排序(带图形界面)

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

    基于 JavaScript 实现拓扑排序和关键路径的图形化显示【100011142】

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

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

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

    可视化排序过程

    1. 该程序为一个可以展示不同排序算法的排序过程动画,具有良好的图形界面; 2. 一共有三种排序方法——直接插入排序、直接选择排序和冒泡排序快速排序,; 3. 排序元素输入为手动输入; 4. 有进度条显示排序的...

    C语言编写图形登陆界面

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

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

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

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

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

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

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

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

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

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

    Matlab Simulink三维图形显示模块

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

    图形化编程应用 Blockly

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

    线性表基本运算的图形模拟演示设计

    总结来说,这个项目提供了一个交互式的环境,用户可以通过图形化界面直观地观察和操作线性表的各种基本运算。通过MFC,这个过程变得直观且易于实现,同时也为学习和教学数据结构提供了宝贵的工具。然而,它还有扩展...

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

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

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

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

    MFC做的排序算法演示(源码)

    在这个MFC(Microsoft Foundation Classes)项目中,我们看到了一个使用C++和MFC框架实现的排序算法的可视化演示。MFC是微软为Windows开发桌面应用程序提供的一种类库,它基于面向对象的编程理念,为开发者提供了...

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

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

Global site tag (gtag.js) - Google Analytics