String

​ 串,即字符串(String)是由零个或多个字符组成的有限序列。一般记为S=’a1a2…an’ (n>=0)
​ 其中,S是串名,单引号括起来的字符序列是串的值;a可以是字母、数字或其他字符;串中字符的个数n称为串的长度。n=0时的串称为空串(用の表示)。

阅读全文
ECS架构的概念与核心

​ ECS 是一种面向数据的架构模式,全称为 Entity-Component-System(实体-组件-系统),广泛应用于现代游戏引擎(如 Unity DOTS)中。相比传统的面向对象编程(OOP),ECS 强调将数据与逻辑解耦,以实现更高的性能和更好的扩展性,特别适用于处理大量对象和并行任务的场景。

​ 它的核心理念是:“组合优于继承”,即用多个组件组合出复杂行为,而不是通过类继承链扩展功能。

阅读全文
Queue

​ 队列也一个存储同一类型数据元素的线性表但是操作受限,和栈不同的是,队列是在一端存储,在另一端删除,通俗来讲就好像你排队打饭,只能在队首打饭,在队尾排队。特点就是先进先出(FIFO),而不同于栈的先进后出。

阅读全文
Stack 容器
STL | Container | C++

​ stack 是一种后进先出(LIFO)的数据结构。你只能从“顶端”添加元素(push)或移除元素(pop),类似装盘子。

阅读全文
List 容器
STL | Container | C++

​ List容器其实就是一个双向链表:一个由节点组成的线性的数据结构,每个节点都存储一个元素,并且包含指向前一个和后一个元素的指针。

​ 这种独特的结构使得它区别于vector拥有一些独特的优缺点:插入/删除效率高——任意位置都为O(1),但是不支持随机访问——无法通过下标访问元素,不需要连续的存储——不需要移动元素,也不涉及扩容复制。

阅读全文
Stack

​ 栈是数据结构中学习的第一个较为特殊的结构,首要特点就是先进后出,就好像一个细细长长的管子,你一个一个往里面放小球(这个小球刚好能放进去),你每次放只能放在顶部,每次拿也只能拿取顶部的。

阅读全文
Vector 容器
STL | Container | C++

​ Vector容器的底层其实就是一个动态数组,内部设有几个数据成员,其中三个指针分别指向元素存储区的起始位置、最后一个有效元素之后的位置、内存即总容量的末尾,还会设有一个成员用于分配和释放对象。

阅读全文
Linear List

​ 线性表主要分为顺序存储的线性表和链式存储的链表。顺序表的特征就是地址连续的存储单元来存储线性表中的元素,即逻辑相邻的同时物理位置也相邻。类似一维数组。

阅读全文
Hello World

​ 大家好!这里是Kirius的博客,我会在这里写各种各样的东西,目前主要是对于数据结构的回顾与学习,包括对一些基础知识的笔记,以及在写一些项目中的笔记和感悟(如重写stl)。

阅读全文