串,即字符串(String)是由零个或多个字符组成的有限序列。一般记为S=’a1a2…an’ (n>=0)
其中,S是串名,单引号括起来的字符序列是串的值;a可以是字母、数字或其他字符;串中字符的个数n称为串的长度。n=0时的串称为空串(用の表示)。
ECS 是一种面向数据的架构模式,全称为 Entity-Component-System(实体-组件-系统),广泛应用于现代游戏引擎(如 Unity DOTS)中。相比传统的面向对象编程(OOP),ECS 强调将数据与逻辑解耦,以实现更高的性能和更好的扩展性,特别适用于处理大量对象和并行任务的场景。
它的核心理念是:“组合优于继承”,即用多个组件组合出复杂行为,而不是通过类继承链扩展功能。
队列也一个存储同一类型数据元素的线性表但是操作受限,和栈不同的是,队列是在一端存储,在另一端删除,通俗来讲就好像你排队打饭,只能在队首打饭,在队尾排队。特点就是先进先出(FIFO),而不同于栈的先进后出。
List容器其实就是一个双向链表:一个由节点组成的线性的数据结构,每个节点都存储一个元素,并且包含指向前一个和后一个元素的指针。
这种独特的结构使得它区别于vector拥有一些独特的优缺点:插入/删除效率高——任意位置都为O(1),但是不支持随机访问——无法通过下标访问元素,不需要连续的存储——不需要移动元素,也不涉及扩容复制。
栈是数据结构中学习的第一个较为特殊的结构,首要特点就是先进后出,就好像一个细细长长的管子,你一个一个往里面放小球(这个小球刚好能放进去),你每次放只能放在顶部,每次拿也只能拿取顶部的。
Vector容器的底层其实就是一个动态数组,内部设有几个数据成员,其中三个指针分别指向元素存储区的起始位置、最后一个有效元素之后的位置、内存即总容量的末尾,还会设有一个成员用于分配和释放对象。
大家好!这里是Kirius的博客,我会在这里写各种各样的东西,目前主要是对于数据结构的回顾与学习,包括对一些基础知识的笔记,以及在写一些项目中的笔记和感悟(如重写stl)。