小小小哲哥866 2022-12-29 10:07 采纳率: 0%
浏览 102
已结题

111数据结构农夫过河

数据结构农夫过河(C++)
设计目的:
1.掌握队列的建立及基本操作。
深入了解队列的特性,以便在解决实际问题中灵活运用它们。
4.加深队列的理解和认识。
设计内容:
有一个农夫带一条狼、一只羊和一棵白菜过河.如果没有农夫看管,则狼
要吃羊,羊要吃白菜.但是船很小,只够农夫带一样东西过河.问农夫该如何解此难题?
设计要求:
1、编程实现农夫过河的过程;
2、执行结果中要体现过河的先后顺序

  • 写回答

8条回答 默认 最新

  • 流比 2022-12-29 10:20
    关注
    
    // 定义队列
    Queue<String> queue = new Queue<String>();
    
    // 将需要过河的对象加入队列
    queue.enqueue("农夫");
    queue.enqueue("狼");
    queue.enqueue("羊");
    queue.enqueue("白菜");
    
    // 循环处理队列中的对象
    while (!queue.isEmpty()) {
      // 取出队列中的第一个对象
      String obj = queue.dequeue();
      
      // 过河
      System.out.println(obj + " 过河");
      
      // 如果农夫过河了,就将下一个需要过河的对象加入队列
      if (obj.equals("农夫")) {
        if (!queue.isEmpty()) {
          queue.enqueue(queue.dequeue());
        }
      }
    }
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月29日
  • 修改了问题 12月29日
  • 创建了问题 12月29日