C#编程教程:数据结构基础篇(上)

更新:11-01 名人轶事 我要投稿 纠错 投诉

大家好,关于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#确实离不开了解数据结构啊。

    有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位网友表示赞同!

【C#编程教程:数据结构基础篇(上)】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:发现正品鞋的绝佳途径:揭秘十大性价比超高的购物渠道 下一篇:揭秘Android应用架构:深度解读与实战经验分享