Unity常用数据结构

Array 数组

1.存储在连续内存上
2.元素都是同类或衍生类
3.可以通过索引下标访问
4.不能改变数组长度,只能覆盖

ArrayList 数组列表

1.无需指定长度
2.元素非泛型,均为object,需要装箱拆箱操作
3.可以通过下标来访问

List 列表

1.无需要指定长度
2.元素是泛型,无需拆箱装箱
3.可能过下标来访问

LinkedList 链表

1.循序取决于头文件指向
2.是一个双向链表
3.可以插入到最前,最后,某个元素之前或之后
4.可以更好的管理元素之间的前后关系
5.元素是泛型,无需拆箱装箱

Queue 队列

1.只能在前端删除,在后端插入
2.是一个先进先出线性表
3.元素是泛型,无需拆箱装箱
4.可以有重复值

Stack 堆栈

1.只允许在表的一端进行增删
2.是一个后进行出的线性表
3.元素是泛型,无需拆箱装箱

Hash Table哈希表

1.是一个松散结构
2.只记录压缩后的索引
3.由于索引被压缩可能会出现哈希冲突
4.非泛型表,需要拆箱装箱
5.可变长度

Dictionary 字典

1.必须先指定索引和类型
2.元素是泛型,无需拆箱装箱
3.可变长度
4.键值存在栈中,索引内容在堆中

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity作为一款游戏开发引擎,并没有自己独立的数据结构和算法库,它主要依赖于C#语言自身提供的数据结构和算法。以下是一些常见的Unity数据结构和算法的使用示例: 1. 列表(List):Unity常用的列表结构是List<T>,其中T表示列表中存储的元素类型。可以使用Add、Remove、Insert等方法对列表进行操作。 ```csharp using System.Collections.Generic; List<int> numbers = new List<int>(); numbers.Add(1); numbers.Add(2); numbers.Add(3); numbers.Remove(2); foreach(int number in numbers) { Debug.Log(number); } ``` 2. 字典(Dictionary):Unity常用的字典结构是Dictionary<TKey, TValue>,其中TKey表示键的类型,TValue表示值的类型。可以使用Add、Remove、ContainsKey等方法对字典进行操作。 ```csharp using System.Collections.Generic; Dictionary<string, int> scores = new Dictionary<string, int>(); scores.Add("Tom", 80); scores.Add("John", 90); scores.Remove("Tom"); if(scores.ContainsKey("John")) { Debug.Log("John's score: " + scores["John"]); } ``` 3. 队列(Queue):Unity常用的队列结构是Queue<T>,其中T表示队列中存储的元素类型。可以使用Enqueue、Dequeue等方法对队列进行操作。 ```csharp using System.Collections.Generic; Queue<string> messages = new Queue<string>(); messages.Enqueue("Message 1"); messages.Enqueue("Message 2"); string message = messages.Dequeue(); Debug.Log("Dequeued message: " + message); ``` 这些是Unity中常见的数据结构和算法的基本用法,如果有特定的算法需求,可以根据具体情况自行实现或使用C#语言提供的其他数据结构和算法库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小盖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值