以队列的方式实现收容所收养猫和狗

public abstract class Animal

{

private int order;

protected String name;

public Animal(String n)

{

name=n;

}

public void SetOrder(int ord)

{

order=ord;

}

public int getOrder()

{

return order;

}

public boolean isOlderThan(Animal a)

{

return this.order<a.getOrder();

}

}

public class AnimalQueue

{

LinkedList<Dog> dogs=new LinkedList<Dog>();

LinkedList<Cat> cats=new LinkedList<Cat>();

private int order=0;//用作时截

public void enqueue(Animal a)

{

/*order 用作某种形式的时截,以便比较够或猫插入队列的先后顺序*/

a.SetOrder(order);

order++;

if( a instanceof Dog) dogs.addList((Dog) a);

else if (a instanceof Cat) cats.addLast((Cat) a);

}

public Animal dequeueAny()

{

/*查看狗和猫的队列的首部,弹出最旧的值

*/

if(dogs.size()==0)

{

return dequeueCats();

}

else if(cats.size()==0)

{

return dequeueDogs();

}

}

Dog dog=dogs.peek();

Cat cat=cats.peek();

if(dog.isOlderThan(cat))

{

return dequeueDogs();

}

else

{

return dequeueCats();

}

public Dog dequeueDogs()

{

return dogs.poll();

}

public Cat dequeCats()

{

return cats.poll();

}

}

public class Cat extends Animal

{

public Cat(String n)

{

super(n);

}

}

public class Dog extends Animal

{

public Dog(String n)

{

super(n);

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-15 15:57:25

以队列的方式实现收容所收养猫和狗的相关文章

通过请求队列的方式来缓解高并发抢购(初探)

通过请求队列的方式来缓解高并发抢购(初探) 一.背景 在移动互联网高速发展的时代,各种电商平台的抢购业务变得越来越火爆,抢购业务所带来的高并发问题值得我们去探索,主要涉及的方面包括处理和响应速度.数据的一致性等.抢购开放的一瞬间,可能有成千上万的下订单请求发送到服务器去处理,如果只是简单的请求处理响应方式,不做任何处理,导致的结果很可能是很多客户很长时间得不到响应,根本不知道自己是否下订单成功,或者下订单的数量已经超过了商品的数量,这就导致了超发的问题. 二.设计思路 1.用户在下订单之前当然是

使用goroutine+channel和java多线程+queue队列的方式开发各有什么优缺点?

我感觉很多项目使用java或者c的多线程库+线程安全的queue数据结构基本上可以实现goroutine+channel开发能达到的需求,所以请问一下为什么说golang更适合并发服务端的开发呢?使用goroutine+channel和java多线程+queue队列的方式开发各有什么优缺点? 使用goroutine+channel和java多线程+queue队列的方式开发各有什么优缺点? >> golang 这个答案描述的挺清楚的:http://www.goodpm.net/postreply

我想要一只猫或狗

某个时候,总是会有很多想法,我想要干什么,我想要有什么.想要一个大大的房子,想要一个美满的家庭,想要成为一个有钱人. 而此时的我多么想要一只宠物,无论是猫还是狗,我想要一只,虽然他们不会说话,但他们懂你,他们不需要你去等待,因为每时每刻他们都在等待着你的归来,突然心中的想法变得很强烈,真的想要有个他们可以为生活添加一抹不一样的色调. 一个人永远不会习惯等待,不喜欢期盼,可是人生处处都要等待,等待着长大,等待着有钱,等待着爱人回家,等待着孩子长大,而身为人母之后又饱尝等待子女归来的感受.有时的自己

猫和狗(二分图)

猫和狗 内存限制:128 MiB 时间限制:1000 ms 标准输入输出 题目描述 小k同学正在玩一个游戏,在游戏中他扮演了一个马戏团的老板,现在小k同学需要利用马戏团中的A只猫和B只狗举办一次表演,表演之前他让观众进行了投票,投票的类容是:我想看到第___号猫/狗的表演,不想看到第___号猫/狗的表演.注意到每个观众都是更喜欢猫或更喜欢狗,所以两个空后面一定会被勾上不同的内容.喜欢猫的观众会在第一空后面选择猫,第二空后面选择狗:反之就会在第一空后面选择狗,第二空后面选择猫.对于每一个观众,只有

使用数组和队列的方式解析字节

下面的逻辑为:从socket通道中读取到接收的数据到字节缓冲区,将缓冲区中的数据输出到字节的数据btyes中,再将数组中的数据一个个读取到字节队列bytesto 中(过来掉不需要的字节),最终 将bytesto 的数据转换到数组arr中,通过 new String(byte[] bytes, Charset charset)的方式将字节数据arr转换为指定字符集的字符串.(字符集转换的时候,一定要注意,有的时候一不小心就转为乱码了!) // 返回为之创建此键的通道. client = (Sock

618未至,虎、猫、狗已经撕得不可开交

对于国内的电子商务来说,节日是越来越多,从“双11”到“双12”,再到“618”.“三七女生节”等.电商节日的兴起,拉动了整个国内电子商务的发展,同时也带动了国内的内需消费,刺激了经济发展.不过对于电商平台们来说,每到节日来临之际,他们便开始紧绷神经,意图在这个电商节日大战中一决雌雄. 很快,今年的618大战又开始打响了.先是5月18日京东召开了2016品质狂欢节,随后5月25日国美在线又召开了记者招待会.阿里也推出了首届天猫618粉丝狂欢节活动……618还未正式到来,各大电商平台已经撕得不可开

Pytorch学习--编程实战:猫和狗二分类

Pytorch学习系列(一)至(四)均摘自<深度学习框架PyTorch入门与实践>陈云 目录: 1.程序的主要功能 2.文件组织架构 3. 关于`__init__.py` 4.数据处理 5.模型定义 6.工具函数 7.配置文件 8.main.py 9.使用 1.程序的主要功能: 模型定义    数据加载    训练和测试 2.文件组织架构: ```├── checkpoints/├── data/│   ├── __init__.py│   ├── dataset.py│   └── get_

数据结构设计

之前在简书上初步总结过几个有关栈和队列的数据结构设计的题目.http://www.jianshu.com/p/d43f93661631 实现猫狗队列,猫类型和狗类型都继承自Pet类型 Pet类型如下 要求如下: 思路: 如果使用一个队列来存储,那么无法区分猫和狗:如果使用两个队列,那么pollAll()中猫和狗的先后顺序无法区分:继续思考时候可以使用一个时间戳,相当于一个map,键为pet,值为其如队列的时间,但是这带来一个问题就是同一个宠物多次进队列的问题.所以,采用新建一个数据结构PetEn

猫狗收养所

两种方法实现,用两个vector实现,一个为领养的动物(输出),一个为收养的动物(输入):用两个queue实现(都为输入),一个为收养的猫,一个收养的狗,vetor(输出). /***************************************************** * \file CatDogAsylum.cpp * \date 2016/05/09 15:19 * \问题描述: 题目描述 有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式,第一种为直接收养