大家好,关于C#编程教程:数据结构基础篇(上)很多朋友都还不太明白,今天小编就来为大家分享关于的知识,希望对各位有所帮助!
堆栈也是一种特殊的线性表,是后进先出(LIFO)结构。
栈是限定仅在表尾进行插入和删除运算的线性表,表尾称为栈顶(top),表头称为栈底(bottom)。
栈的物理存储可以用顺序存储结构,也可以用链式存储结构。
堆栈
队列是一种线性表,它限制所有插入都在表的一端执行,所有删除都在表的另一端执行。
表中允许插入的一端称为队尾(Rear),允许删除的一端称为队头(Front)。
队列的操作是按先进先出(FIFO)的原则进行的。
队列的物理存储可以用顺序存储结构,也可以用链式存储结构。
队列
C#中的集合类
Array
数组为数据结构中的顺序表
MyArray[0], MyArray[1], MyArray[2]…………MyArray[6]
MyArray [0] = 1
提供对数组的相关操作
010-1 010
Array是抽象的基类,提供 CreateInstance 方法来创建数组
010- 1010
Array obj = Array.CreateInstance(typeof(string),10);
Array obj1 = Array.CreateInstance(typeof(string),2,3,4);
数组的局限性:
使用Array合并两个数组操作:
将数据对象附加到数组。如果空间不足,请扩大并添加。
使用Array判断一个数组是否在另一个数组中
编写一个传入数组的方法,需要先对数组进行反转,然后对数组进行排序,并显示各个阶段的结果。
元素个数固定,且必须在创建数组时知道元素个数
特点:
元素类型必须相同
只能通过索引访问数组元素
举几个例子:
ArrayList
有序的对象列表 顺序结构.
ArrayList 很类似数组.
010-1 010
ArrayList 类没有固定大小;可以根据需要不断增长.
010- 1010
默认大小为16个元素,当添加第17个元素时会自动扩展到32个.
可以显式地指定其容量.
可以存储不同类型的元素, 因为所有ArrayList中的元素都是对象(System.Object).
实现对列表(ArrayList或List)添加、删除、修改并检查功能
如何将10个对象随机存储到列表中
ArrayList 的方法:
特点:
Add(object) 把一个对象添加到 ArrayList 的末尾.
Insert(index,object) 在指定位置插入一个对象.
Remove(object) 移除一个对象.
对象按照先进先出、先到先服务的原则提供服务
示例
RemoveAt(index) 移除一个对象.
Clear() 移除所有元素.
Sort 对ArrayList 中的元素进行排序.
例子:
队列
先进先出的对象集合
特殊的顺序表
010-1 010
队列(Queue)
010- 1010
对象按顺序存储在默认大小为32的缓冲区中;当缓冲区空间不足时,按增长因子(2.0)创建一个新的缓冲区,并将现有对象拷贝到新缓冲区中(开销大)
Queue的方法:
Enqueue 入队 进队
///使用栈实现加法公式子运算
Dequeue 出队 离队
Peek 查看队头
【C#编程教程:数据结构基础篇(上)】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
学习C#确实离不开了解数据结构啊。
有12位网友表示赞同!
终于看到一篇关于C#数据结构的文章了!
有16位网友表示赞同!
数据结构是编程的基础,这篇文章肯定很有用!
有11位网友表示赞同!
我对链表和栈不太了解,希望这篇文章能让我有所收获。
有5位网友表示赞同!
上篇是指只涵盖部分数据结构吗?期待下篇的更多内容!
有8位网友表示赞同!
C#的数据结构实现真是太棒了!
有15位网友表示赞同!
希望能具体讲解一下各个数据结构的优缺点。
有7位网友表示赞同!
想了解如何在实际项目中运用这些数据结构。
有6位网友表示赞同!
之前学的数据结构用C++语言,现在尝试用C#来理解一遍。
有15位网友表示赞同!
这篇文章应该很适合刚刚学习C#的新手吧!
有10位网友表示赞同!
希望文章能包含一些代码示例,更容易理解。
有5位网友表示赞同!
数据结构真的很重要,以后一定要好好学习!
有13位网友表示赞同!
期待作者能深入浅出地讲解各类型数据结构的特点。
有11位网友表示赞同!
之前也学过数据结构,想看看C#的实现方式和经典算法。
有15位网友表示赞同!
这篇文章应该会是我学习C#的必备教材之一!
有16位网友表示赞同!
分享出来让更多人了解数据结构的基本概念吧!
有14位网友表示赞同!
数据结构是编码的基础技能,掌握了它可以提升程序效率!
有8位网友表示赞同!
感谢作者用心做文章,希望文章越来越火爆!
有6位网友表示赞同!
C#确实是一个实用且强大的编程语言!
有19位网友表示赞同!