在C#中,线性结构是数据结构的基础,主要包括数组(Array)、链表(LinkedList)、栈(Stack)和队列(Queue)等。这些结构按照元素之间的线性顺序组织数据。下面我将简要介绍这些结构及其在C#中的基本用法。
### 1. 数组(Array)
数组是最简单的线性结构,它允许你存储固定数量的同类型元素。在C#中,数组可以是多维的。
int[] numbers = { 1, 2, 3, 4, 5 };
foreach (int num in numbers)
{
Console.WriteLine(num);
}
### 2. 链表(LinkedList)
链表是另一种线性数据结构,但与数组不同,链表中的元素在内存中不必连续存储。链表中的每个元素都包含数据部分和指向列表中下一个元素的引用(或链接)。C#的`System.Collections.Generic`命名空间提供了`LinkedList
using System.Collections.Generic;
LinkedList<int> linkedList = new LinkedList<int>();
linkedList.AddLast(1);
linkedList.AddLast(2);
linkedList.AddLast(3);
foreach (int item in linkedList)
{
Console.WriteLine(item);
}
### 3. 栈(Stack)
栈是一种后进先出(LIFO, Last In First Out)的数据结构。它只允许在栈顶进行添加(push)或删除(pop)元素的操作。C#的`System.Collections.Generic`命名空间提供了`Stack
Stack<int> stack = new Stack<int>();
stack.Push(1);
stack.Push(2);
stack.Push(3);
while (stack.Count > 0)
{
Console.WriteLine(stack.Pop());
}
### 4. 队列(Queue)
队列是一种先进先出(FIFO, First In First Out)的数据结构。它允许在队尾添加元素,在队首删除元素。C#的`System.Collections.Generic`命名空间提供了`Queue
Queue<int> queue = new Queue<int>();
queue.Enqueue(1);
queue.Enqueue(2);
queue.Enqueue(3);
while (queue.Count > 0)
{
Console.WriteLine(queue.Dequeue());
}
以上是对C#中几种常见线性结构的简要介绍和示例代码。这些结构在数据结构与算法的学习中占有重要地位,它们为更复杂的数据结构和算法提供了基础。