在VS中用数据结构设计校园导游程序代码
时间: 2024-12-17 11:47:33 浏览: 8
在Visual Studio (VS) 中设计一个校园导游程序,我们可以使用数据结构来组织信息,例如地点、路径和导航规则。下面是一个简单的例子,我们将创建一个结构体表示景点,一个栈来存储路径,以及一个队列用于按照推荐顺序访问景点:
```csharp
using System;
using System.Collections.Generic;
// 定义景点数据结构
public class CampusLandmark
{
public string Name { get; set; }
public string Description { get; set; }
// 可能添加位置信息(如坐标)
public double[] Coordinates { get; set; }
public override string ToString()
{
return $"名称: {Name}, 描述: {Description}";
}
}
// 定义路径数据结构
public class TourPath
{
private List<CampusLandmark> path = new List<CampusLandmark>();
public void AddLandmark(CampusLandmark landmark)
{
path.Add(landmark);
}
public bool IsEmpty() => path.Count == 0;
public CampusLandmark GetCurrentLandmark() => path[path.Count - 1];
}
// 主导游程的栈
public class TourGuide
{
private Stack<TourPath> paths = new Stack<TourPath>();
public void StartTour(TourPath initialRoute)
{
paths.Push(initialRoute);
}
public void NextStep()
{
if (!paths.IsEmpty())
{
TourPath currentPath = paths.Pop();
Console.WriteLine($"当前景点: {currentPath.GetCurrentLandmark()}");
// 按需更新路径或添加新景点
// ...
}
}
}
// 示例用法
public static void Main(string[] args)
{
CampusLandmark library = new CampusLandmark { Name = "图书馆", Description = "学术研究的好去处" };
CampusLandmark stadium = new CampusLandmark { Name = "体育场", Description = "举办各类体育赛事" };
TourPath mainCampusLoop = new TourPath();
mainCampusLoop.AddLandmark(library);
mainCampusLoop.AddLandmark(stadium);
TourGuide guide = new TourGuide();
guide.StartTour(mainCampusLoop);
// 模拟导游过程
for (int i = 0; i < 2; i++)
{
guide.NextStep();
}
阅读全文