C#(五十九)之三种数据结构 stack queue sortedList
发布人:shili8
发布时间:2024-10-16 16:21
阅读次数:0
**C# 之三种数据结构: Stack, Queue, SortedList**
在计算机科学中,数据结构是指组织和存储数据的方式。不同的数据结构适用于不同类型的问题解决。在本文中,我们将讨论三种常见的数据结构:Stack(栈)、Queue(队列)和SortedList(有序列表)。
###1. Stack(栈)
**定义**
Stack是一种线性数据结构,它遵循后进先出(LIFO)原则,即最后添加的元素将首先被移除。
**特点**
* 后进先出(LIFO)
* 只能在一端进行操作* 支持push和pop操作**示例代码**
csharpusing System;
using System.Collections.Generic;
public class StackExample{
public static void Main()
{
// 创建一个栈 var stack = new Stack<int>();
// push元素到栈中 stack.Push(1);
stack.Push(2);
stack.Push(3);
Console.WriteLine("Stack:");
foreach (var item in stack)
{
Console.WriteLine(item);
}
// pop元素从栈中 while (stack.Count >0)
{
Console.WriteLine(stack.Pop());
}
}
}
###2. Queue(队列)
**定义**
Queue是一种线性数据结构,它遵循先进先出(FIFO)原则,即最先添加的元素将首先被移除。
**特点**
* 先进先出(FIFO)
* 只能在一端进行操作* 支持enqueue和dequeue操作**示例代码**
csharpusing System;
using System.Collections.Generic;
public class QueueExample{
public static void Main()
{
// 创建一个队列 var queue = new Queue<int>();
// enqueue元素到队列中 queue.Enqueue(1);
queue.Enqueue(2);
queue.Enqueue(3);
Console.WriteLine("Queue:");
foreach (var item in queue)
{
Console.WriteLine(item);
}
// dequeue元素从队列中 while (queue.Count >0)
{
Console.WriteLine(queue.Dequeue());
}
}
}
###3. SortedList(有序列表)
**定义**
SortedList是一种线性数据结构,它维护一个有序的集合。
**特点**
* 有序集合* 支持添加、删除和查找元素**示例代码**
csharpusing System;
using System.Collections.Generic;
public class SortedListExample{
public static void Main()
{
// 创建一个有序列表 var sortedList = new SortedSet<int>();
// 添加元素到有序列表中 sortedList.Add(3);
sortedList.Add(1);
sortedList.Add(2);
Console.WriteLine("SortedList:");
foreach (var item in sortedList)
{
Console.WriteLine(item);
}
// 删除元素从有序列表中 sortedList.Remove(2);
Console.WriteLine("SortedList after remove:");
foreach (var item in sortedList)
{
Console.WriteLine(item);
}
}
}
以上是三种数据结构的基本介绍和示例代码。这些数据结构在实际应用中非常常见,例如栈用于后进先出操作,队列用于先进先出操作,有序列表用于维护一个有序集合等。

