帐号 密码  
 
多路树查找-外部查找(B树)【源代码】

多路树查找-外部查找(B树)【下载及演示说明】

双向链表演示程序【下载及演示说明】

循环链表演示程序【下载及演示说明】

链表【讲解】

动态存储分配之边界标识法演示程序【下载及演示说明】

动态存储分配之边界标识法【讲解】

首次适应算法和最佳适应算法【讲解】

动态存储分配之边界标识法【源代码】

振荡排序算法【讲解】

振荡排序演示程序【下载及演示说明】

树和二叉树相互转化【讲解】

深度优先搜索【下载及演示说明】

深度优先搜索【源代码】

朴素字符串匹配演示程序【下载及演示说明】

当前1/4页
首页 上一页 下一页 尾页

算法讲堂

    本栏目所有文章由本站组织业内技术专家原创而成,用汇编语言向学习者讲解经典问题的编程思想和编程方法。

    本栏目所有文章的版权归本站所有,转载请注明出处为汇编网<www.asmedu.net> 。

    现本栏目的内容处于不断添加中,请随时关注。
算法讲堂-》队列【下载及演示说明】
    一、实现基本功能: 
    [1]. 入队; 
    [2]. 出队;
    [3]. 取队头元素值;
    [4]. 清空队列;
    [5]. 退出程序。
二、界面信息介绍: 
  1、功能键:
    数字键1:执行入队操作;
    数字键2:执行出队操作;
    数字键3:执行取队头元素值操作;
    数字键4:执行清空队列操作;
    数字键5:退出程序。
    选择功能键后按回车(Enter)确定执行此操作。
  2、屏幕上方显示队列当前状态,中间是提示操作菜单和命令等待。每次操作完成会在屏幕下方提示操作结果及相关信息。
三、操作演示:
    本程序可在实模式DOS或支持保护模式DOS的常用操作系统(如windows 9x、2003、xp等)环境下运行。本操作演示是在windows xp环境下进行的。入队操作是将字符串“Hello_world!”的每个字母依次入队。
  1、循环队列操作演示:
    a)进入程序:
    运行“cmd”,进入程序所在目录,在命令行输入源程序编译连接后生成的可执行文件名,回车,即看到如下界面,如图c-1所示:
图
队头指针为head,队尾指针为rear。
    b)按照提示菜单用户可以选择要进行的队列操作,按下相应数字键,用户选择会显示在光标等待处,此时我们按下数字键 1 ,如图c-2所示:
 图
继续按下回车确认选择,程序将执行队列的入队操作,并把入队操作结果信息显示在屏幕上,如图c-3所示:
 图
如此,继续进行4次入队操作后队列显示队列状态如下图c-4所示:
 图
    c)队列中已经有5个节点元素,如果没有节点元素到来要求入队,而且现在我们想从队列中取出一个节点元素,可以选择按下数字键2进行出队操作,回车后出队操作结果显示信息和当前队列状态如下图c-5所示:
 图
    d)此外,如果我们只想知道队头元素是什么,而不想影响队列状态,可以选择按下数字键3进行取队头操作,回车后取队头操作结果显示信息和当前队列状态如图c-6所示:
 图
    e)对于循环队列,当队尾指针rear指向队列空间末尾,再次进行入队操作后,因为队尾指针rear时刻都是指向队尾元素所在位置的的下一个位置,这时队尾指针rear将会翻转,指向队列空间的开始位置,如图c-7所示:
 图
    f)当队尾指针rear追赶上队头指针head,即队尾指针rear和队头指针head指向队列空间中的同一个位置时,队列满,不能再进行入队操作,如图c-8所示:
 图
此时,只能等待有节点元素出队产生空余空间,才能允许新的节点元素入队。
    g)对于循环队列,和e)中的情况相同,当队头指针head指向队列空间的末尾如图c-9所示,再次进行出队操作后,因为队头指针head时刻都指向队头元素所在位置,这时队头指针head也将出现翻转,指向队列空间的开始位置,如图c-10所示:
 图
 图 
    h)在上图(c-9)状态下,按下数字键4,将执行清空队列操作。
程序实现时是通过所有队列中的节点元素出队,实现此操作的,所以清空队列后状态如下图 c-11所示:
 图
  2、链式队列操作演示:
    操作方式与循环队列相同,只是因为存储结构不同,在实际操作中,有一些不同之处。
    a)初始状态,队列为空,不能进行出队或取队头操作。如图L-1所示:
 图
    b)队列满,或内存空间不足时,不能进行入队操作。如图L-2所示:
  图
    c)入队操作,如图L-3所示:
 图
    d)取队头操作,如图L-4所示:
 图
    e)出队操作,如图L-5所示:
 图
    f)清空队列操作,如图L-6所示:
 图
四、附加说明:
    本程序只是队列算法的一种演示,队列的应用相当广泛,在实际应用当中,要结合实际,实现队列的相关算法,为准确有效的解决实际问题服务。

[07/09/21]

Copyright C 2006-2024 ASMEDU.NET All Rights Reserved
Email: asmedu@163.com