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();
}

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

相关推荐
用户788477316346 小时前
WinForms 迁移 WPF:Upgrade Assistant 覆盖 30%,剩下 70% 我手写了六周
c#
another heaven7 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
SomeOtherTime9 小时前
Rust 闭包语法和原理(AI回答)
开发语言·后端·rust
apcipot_rain9 小时前
C++转Java日记(10)
java·开发语言
总要学点什么10 小时前
第105篇:三维特效-流动图片墙体效果——让箭头沿墙长滚,它俩竟是同一份代码
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
xiaoye-duck10 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
寂寞的船11 小时前
【Unity知识速递】第13期 Unity 内存泄漏排查实战:从 Memory Profiler 到 Lua 引用泄漏的生产级全链路诊断
unity·junit·c#·游戏引擎·lua
Funlang11 小时前
龙芯上的 Fun:从跑起来到机器码
开发语言·龙芯
总要学点什么11 小时前
第104篇:三维特效-流动墙体效果——让贴图沿墙流动,它却只肯走一条对角线
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
旖旎夜光12 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习