美文网首页
队列应用

队列应用

作者: xinxinlimin | 来源:发表于2017-11-21 11:53 被阅读0次

    队列是一种先进先出的数据结构,我们可以将其假设为一个排队机制,广泛应用于计算机的各个领域,包括操作系统的作业调度,用于缓冲区,网络中的路由缓冲包区。

    队列的结构由两个标志组成,不同于栈的一个标志,空时tos=-1。由font与rear组成。

    一般的队列我们可以通过调用linkedlist来实现queue的功能,此队列通过链表实现。

    这里着重说一下循环队列,数组实现(由于链表过于繁琐)。

    定义四个方法:

    是否为空:font==rear

    是否满:(rear+1)% length==font 。说明:font指向对手元素,rear指向队尾元素的下一个,若队列为满,正常应该font==rear,就会与空时重复。为了避免这一问题,我们定义留一个字符表示队列满。

    入队:array【rear】=value。注意:rear要++,同时注意rear要小于10,若大于,则从0开始计数 ,这样才能保证循环。

    出队:同于入队,只不过是font的操作。

    队列定义部分结束,借这个空闲说说内部类

    内部类的好处:

    1 成员内部类与静态内部类的区别:

    一个在编译时会生成指向外部类的一个引用,这样在调用时需要先生成外部了的对象,之后new内部类。而另一个再生成对象时直接调用即可。

    静态内部类不可以使用外部类非静态的变量与方法,但在自己的类中可以定义非静态的属性与方法。

    很奇怪吧。

    2 匿名内部类:两种定义方式:button.addlistner(new actionListner(){实现接口的抽象方法});

    定义线程时:Thread t=new Thread(new Runnable(){run(){}}); 

    两种方式异曲同工,都是定义的接口引用的具体实现,格式是new+接口,可能有些困惑。

    接着说队列,下面说一下队列的应用:舞伴问题、杨辉三角问题、游标编码问题。

    杨辉三角:程序输入行数,打印出相应行的二项式系数:

    脱了这么久,今天终于可以把它完成了:

    结束

    游标编码问题就是一个统计字符串数字个数的问题,相对来说比较简单,只需一个字符串即可,在这里不再赘述。

    相关文章

      网友评论

          本文标题:队列应用

          本文链接:https://www.haomeiwen.com/subject/qqaamxtx.html