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.hqwc.cn/news/216451.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑系统一次频率响应特性的新型电力系统源网荷储协调鲁棒规划》

这篇文章的标题涉及到新型电力系统的源&#xff08;发电源&#xff09;、网&#xff08;电网&#xff09;、荷&#xff08;负荷&#xff0c;即用电需求&#xff09;以及储&#xff08;储能系统&#xff09;的协调鲁棒规划&#xff0c;其中考虑了系统的一次频率响应特性。 让我…

python之pyqt专栏3-QT Designer

从前面两篇文章python之pyqt专栏1-环境搭建与python之pyqt专栏2-项目文件解析&#xff0c;我们对QT Designer有基础的认识。 QT Designer用来创建UI界面&#xff0c;保存的文件是"xxx.ui"文件&#xff0c;"xxx.ui"可以被pyuic转换为"xxx.py",而&…

linux shell操作 - 05 IO 模型

文章目录 流IO模型阻塞IO非阻塞IOIO多路复用异步IO网络IO模型 流 可以进行IO&#xff08;input输入、output输出&#xff09;操作的内核对象&#xff1b;如文件、管道、socket…流的入口是fd (file descriptor)&#xff1b; IO模型 阻塞IO&#xff0c; 一直等待&#xff0c;…

RPCS3(PlayStation 3游戏模拟器)汉化教程

RPCS3 RPCS3 是一款PlayStation 3 模拟器&#xff0c;可让 Windows、Linux 或 BSD 系统的用户运行索尼 PlayStation 3 游戏。 安装教程 包含 Windows/Linux版本 详细安装汉化教程请查看文章 RPCS3&#xff08;PS3模拟器&#xff09;安装及汉化教程 1.首先下载最新版 RPCS3模…

智能汽车的山海之盾

最近一段时间&#xff0c;关于汽车数字化、智能化进程中的安全问题引发了一系列行业讨论。这个话题也得到了行业更广泛的认识与关注。 汽车智能化是大势所趋&#xff0c;而智能化带来了复杂的系统架构与多样化的功能模块&#xff0c;势必会加大安全隐患&#xff0c;但汽车本身又…

新手如何对一个web网页进行一次渗透测试

新手如何对一个web网页进行一次渗透测试 什么是渗透测试? 在获得web服务运营的公司书面授权的情况下&#xff0c;模拟攻击者的行为&#xff0c;以确定系统的脆弱性&#xff0c;并为保护系统提供有效的建议。 渗透测试和红蓝对抗的区别 渗透测试和红蓝对抗别再傻傻分不清楚…

Rust UI开发(一):使用iced构建UI时,如何在界面显示中文字符

注&#xff1a;此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库&#xff0c;用于为rust语言程序构建UI界面。 iced的基本逻辑是&#xff1a; UI交互产生消息message&#xff0c;message传递给后台的update&#xff0c;在这个函数中编写逻辑&#xff0c;然后通过…

哪些域名后缀在国内可以进行备案?

简介 现在有很多不同组合的域名后缀&#xff0c;但是&#xff0c;并非所有后缀都允许进行备案。以下是整理的可备案域名后缀列表&#xff0c;希望能对大家有所帮助&#xff01; 可备案的域名后缀包括&#xff1a; 中文顶级域名 .政务.公益.公司.网络.网址.商城.网店.中信.商…

入选数据结构与算法领域内容榜第26名

入选数据结构与算法领域内容榜第26名

【机器学习】平滑滤波

平滑滤波技术 平滑滤波&#xff0c;顾名思义就是对信号进行处理使之整体显得更加平滑&#xff0c;降低噪声影响&#xff0c;提高信号质量&#xff0c;它常见于数字信号处理和图像处理&#xff0c;一般意义上的数字信号多体现于一维数据&#xff0c;图像信号多体现于二维数据。…

使用 Python 和 NLTK 进行文本摘要

一、说明 文本摘要是一种自然语言处理技术&#xff0c;允许用户将大量文本总结为小块&#xff0c;而不会丢失任何重要信息。本文介绍NLP中使用Gensim和Sumy实现文本摘要的步骤。 二、为什么要总结文本&#xff1f; 互联网包含大量信息&#xff0c;而且每秒都在增加。文本摘要可…

《Effective Modern C++》全书内容提炼总结

个人博客地址: https://cxx001.gitee.io 前言 C程序员都应该是对性能执着的人&#xff0c;想要彻底理解C11和C14&#xff0c;不可止步于熟悉它们引入的语言特性&#xff08;例如&#xff0c;auto型别推导、移动语义、lambda表达式&#xff0c;以及并发支持&#xff09;。挑战在…