当前位置: 首页 > article >正文

C#,《小白学程序》第五课:队列(Queue)其一,排队的技术与算法

日常生活中常见的排队,软件怎么体现呢?
排队的基本原则是:先到先得,先到先吃,先进先出

1 文本格式


/// <summary>
/// 《小白学程序》第五课:队列(Queue)
/// 日常生活中常见的排队,软件怎么体现呢?
/// 排队的基本原则是:先到先得,先到先吃,先进先出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button5_Click(object sender, EventArgs e)
{
    // #1 定义一个队列(成员是同学信息Classmate)
    Queue<Classmate> q = new Queue<Classmate>();

    // #2 排队
    // 这里选择男同学参与排队
    int n = 8;
    for (int i = 0; i < n; i++)
    {
        if (mates[i].Gender == "男")
        {
            // 添加队列信息
            q.Enqueue(mates[i]);
        }
    }

    // #3 开饭啦!(输出队列信息)
    StringBuilder sb = new StringBuilder();
    while (q.Count > 0)
    {
        // 选择队列第一个成员
        Classmate m = q.Dequeue();
        sb.AppendLine(m.Id + " " + m.Name + ": " + m.Gender + "<br>");
    }
    webBrowser1.DocumentText = sb.ToString();
}
 

2 代码格式


/// <summary>
/// 《小白学程序》第五课:队列(Queue)
/// 日常生活中常见的排队,软件怎么体现呢?
/// 排队的基本原则是:先到先得,先到先吃,先进先出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button5_Click(object sender, EventArgs e)
{
    // #1 定义一个队列(成员是同学信息Classmate)
    Queue<Classmate> q = new Queue<Classmate>();

    // #2 排队
    // 这里选择男同学参与排队
    int n = 8;
    for (int i = 0; i < n; i++)
    {
        if (mates[i].Gender == "男")
        {
            // 添加队列信息
            q.Enqueue(mates[i]);
        }
    }

    // #3 开饭啦!(输出队列信息)
    StringBuilder sb = new StringBuilder();
    while (q.Count > 0)
    {
        // 选择队列第一个成员
        Classmate m = q.Dequeue();
        sb.AppendLine(m.Id + " " + m.Name + ": " + m.Gender + "<br>");
    }
    webBrowser1.DocumentText = sb.ToString();
}

3 计算结果


http://www.kler.cn/a/148096.html

相关文章:

  • react 受控组件和非受控组件
  • 深度学习之pytorch常见的学习率绘制
  • 微澜:用 OceanBase 搭建基于知识图谱的实时资讯流的应用实践
  • C++中的std::tuple和std::pair
  • Appium配置2024.11.12
  • 在 Ubuntu 上安装 `.deb` 软件包有几种方法
  • Docker Compose;docker-compose;docker compose
  • 深入Rust的模式匹配与枚举类型
  • C语言:编程实现1!+2!+3!+4!+……+n!
  • gitee代码路径大纲//test ok
  • Spring Security 6.x 系列(6)—— 显式设置和修改登录态信息
  • 湘潭大学 软件需求分析 填空题 期末考试复习
  • Postgresql源码(116)提升子查询案例分析
  • 中间件安全:Weblogic 漏洞.(使用工具可以利用多种类型漏洞)
  • Python提取PDF表格(基于AUTOSAR_SWS_CANDriver.pdf)
  • CSS新手入门笔记整理:CSS基本介绍
  • python中字符串操作函数split的用法
  • 【阿里云】图像识别 智能分类识别 项目开发(一)
  • 抖音小店怎么运营?新手应该如何做?一篇详解!
  • 【黑马程序员】——微服务全套——Nacos安装指南
  • netty学习
  • git commit message 书写规范
  • Android : Fragment 传递数据 — 简单应用
  • 入门必读:Figma软件的功能和用途一览!
  • ArcGIS中如何建立土地利用规划数据库
  • 2021秋招-数据结构-栈、队列、数组、列表