模仿队列

package queue;
//定义队列接口
public interface CharQueueInterface {
    final int maxSize = 100;
    public void initQueue();
    public void push(char x);
    public char pop();
    public boolean fill();
}

package queue;

public  class CharQueue implements CharQueueInterface{
  
    int right;
    int left;
    char data[];
    public CharQueue() {
        data = new char[maxSize];
    }

    public void initQueue() {
        left = right = -1;
    }

    public void push(char x) {
        if(!fill())
        {
            right++;
            data[right] = x;
        }
    }

    public char pop() {
        if(left<=right)
        {
            left++;
            return data[left];
        }else
        {
            return '/0';
        }
    }
    public boolean fill() {
        if(right == (maxSize-1))
        {
            return true;
        }else
        {
            return false;
        }
    }
}

package queue;

public class Test {
    public static void main(String[] args) {
        CharQueue cq = new CharQueue();
        cq.initQueue();
        cq.push('A');
        cq.push('B');
        cq.push('C');
        cq.push('D');
        cq.push('E');
        cq.push('F');
        System.out.println(cq.pop());
        System.out.println(cq.pop());
        System.out.println(cq.pop());
        System.out.println(cq.pop());
        System.out.println(cq.pop());
        System.out.println(cq.pop());
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您解答这个问题。要模拟银行排队叫号系统,我们可以使用队列来代表顾客排队的队列。每当一个新的顾客来到银行,就会被加入到队列的末尾。当柜员准备好为下一个顾客服务时,就会将队列中的第一个顾客叫到柜台。以下是使用Python实现队列模拟银行排队叫号系统的示例代码: ```python class Queue: def __init__(self): self.items = [] def is_empty(self): return not bool(self.items) def enqueue(self, item): self.items.append(item) def dequeue(self): return self.items.pop(0) def size(self): return len(self.items) class Bank: def __init__(self): self.queue = Queue() self.number = 0 def new_customer(self): self.number += 1 self.queue.enqueue(self.number) def serve_customer(self): if self.queue.is_empty(): print("No customers to serve.") else: customer = self.queue.dequeue() print("Now serving customer", customer) def show_queue(self): print("Current queue:", self.queue.items) # Example usage bank = Bank() bank.new_customer() bank.new_customer() bank.new_customer() bank.show_queue() bank.serve_customer() bank.show_queue() ``` 在这个示例代码中,我们首先实现了一个Queue类来代表队列。然后我们实现了一个Bank类来模拟银行,其中包含了三个方法: - new_customer:每次调用这个方法时,会为新的顾客生成一个号码,并将其加入到队列的末尾。 - serve_customer:每次调用这个方法时,会将队列中的第一个顾客叫到柜台处理。如果队列为空,则输出“No customers to serve.”的提示信息。 - show_queue:每次调用这个方法时,会输出当前队列中的顾客号码。 在示例代码的最后,我们创建了一个Bank对象,并调用了几个方法来测试它们的功能。您可以根据自己的需要修改代码来满足您的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值