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 (matesi.Gender == "男")

{

// 添加队列信息

q.Enqueue(matesi);

}

}

// #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 代码格式

cs 复制代码
/// <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();
}

你非常幸运读到的是世界上 唯一一本真正的程序教程。

相关推荐
云雀衔光33 分钟前
Java Spring AI MCP:在 Spring 里把 AI 接上你的业务系统
java·开发语言·人工智能·后端·测试工具·spring
重生之小比特37 分钟前
【Java SE】数据类型与变量
java·开发语言·python
Yeniden40 分钟前
Java 后端从零到企业级:第1篇 Java 基础语法——变量、数据类型与运算符
java·开发语言·apache
luj_17681 小时前
罚球线右移破防新策略
c语言·开发语言·网络·经验分享·算法
UIU1141 小时前
补码运算与整数溢出(上
学习·c#·补码·补码运算
legendary_1631 小时前
PD‑SINK芯片在无协议后端负载中的工程应用
c语言·开发语言·人工智能·智能手机·计算机外设
Nuanyt1 小时前
JVM常见核心知识梳理02 类加载 字节码技术 双亲委派 Java内存模型 JMM 并发底层 volatile synchronized 常见排障与调优工具
java·开发语言·jvm
liliangcsdn1 小时前
IC计算-前向/远期收益计算和代码示例
开发语言·python·pandas
小溪学编程2 小时前
Java ListIterator 接口详解:双向遍历与列表修改的利器
java·开发语言·windows
影视飓风TIM2 小时前
C++11 新特性:Lambda表达式、std::function与std::bind
开发语言·c++