添加Lesson3

This commit is contained in:
2025-10-11 11:21:51 +08:00
parent 921e096721
commit 6c30ef5c27
5 changed files with 143 additions and 0 deletions
+12
View File
@@ -13,6 +13,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson2_Stack", "Lesson2_St
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson2_Stack练习题", "Lesson2_Stack练习题\Lesson2_Stack练习题.csproj", "{BE917425-E4A8-4C51-89BE-8F6DD86A1C00}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson3_Queue", "Lesson3_Queue\Lesson3_Queue.csproj", "{E16850A5-9B2E-473D-B9FB-0694439290B9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson3_Queue练习题", "Lesson3_Queue练习题\Lesson3_Queue练习题.csproj", "{77AE0EA5-FD54-46A0-A708-A2B38ABEE26D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -39,6 +43,14 @@ Global
{BE917425-E4A8-4C51-89BE-8F6DD86A1C00}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE917425-E4A8-4C51-89BE-8F6DD86A1C00}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BE917425-E4A8-4C51-89BE-8F6DD86A1C00}.Release|Any CPU.Build.0 = Release|Any CPU
{E16850A5-9B2E-473D-B9FB-0694439290B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E16850A5-9B2E-473D-B9FB-0694439290B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E16850A5-9B2E-473D-B9FB-0694439290B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E16850A5-9B2E-473D-B9FB-0694439290B9}.Release|Any CPU.Build.0 = Release|Any CPU
{77AE0EA5-FD54-46A0-A708-A2B38ABEE26D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{77AE0EA5-FD54-46A0-A708-A2B38ABEE26D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{77AE0EA5-FD54-46A0-A708-A2B38ABEE26D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{77AE0EA5-FD54-46A0-A708-A2B38ABEE26D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
+89
View File
@@ -0,0 +1,89 @@
using System.Collections;
namespace Lesson3_Queue
{
class Test
{
}
internal class Program
{
static void Main(string[] args)
{
#region
//queue是C#为我们封装好的类
//本质是一个Object数组,只是封装了特殊的存储规则
//queue是队列存储容器,队列是一种先进先出的数据结构
//先存入的数据先取出,后存入的数据后取出
#endregion
#region
//需要引用命名空间system.collections
Queue queue = new Queue();
#endregion
#region
//增
queue.Enqueue(1);//入队
queue.Enqueue("123");
queue.Enqueue(1.4f);
queue.Enqueue(new Test());
//取
object v = queue.Dequeue();//出队,取出队列头部的元素
Console.WriteLine(v);
v = queue.Dequeue();
Console.WriteLine(v);
//查
//1.查看队列头部的元素
v = queue.Peek();
Console.WriteLine(v);
v = queue.Peek();
Console.WriteLine(v);
//2.查看元素是否存在于队列中
if(queue.Contains(1.4f))
{
Console.WriteLine("存在1.4f");
}
//改
//队列没有提供修改元素的方法
//只能通过出队和入队的方式来间接修改元素
queue.Clear();
queue.Enqueue(1);
queue.Enqueue(2);
queue.Enqueue(3);
#endregion
#region
//1.长度
Console.WriteLine(queue.Count);
//2.遍历
foreach (object item in queue)
{
Console.WriteLine(item);
}
//3.转数组
object[] arr = queue.ToArray();
for(int i = 0; i < arr.Length; i++)
{
Console.WriteLine(arr[i]);
}
//4.循环出队
while(queue.Count > 0)
{
Console.WriteLine(queue.Dequeue());
}
#endregion
#region
// 由于用万物之父来存储数据,自然存在装箱拆箱
// 当往其中进行值类型存储时就是在装箱
// 当将值类型对象取出来转换使用时,就存在拆箱
#endregion
}
}
}
@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
@@ -0,0 +1,22 @@
using System.Collections;
namespace Lesson3_Queue练习题
{
internal class Program
{
static void Main(string[] args)
{
Queue q = new Queue();
for(int i = 0; i < 10; i++)
{
Console.WriteLine("请输入消息:");
q.Enqueue(Console.ReadLine());
}
for(int i = 0; i < 10; i++)
{
Thread.Sleep(1000);
Console.WriteLine(q.Dequeue());
}
}
}
}