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); } } }
以上是三种数据结构的基本介绍和示例代码。这些数据结构在实际应用中非常常见,例如栈用于后进先出操作,队列用于先进先出操作,有序列表用于维护一个有序集合等。