数组
int[] arr = new int[];
二维数组:
int[][] arr2 = new int[][];
静态数组:int[] arr = new arr[3]{1,2,3} // 必须要带{}
数组的内存分配是连续的,系统要为数组分配一个固定的空间,如果100个空间以后被其他内容占用内存,那么数组就只能用到前99个空间,如果长度可以改变,那么arr[100]就会更改其他内容产生bug。
链表
数据元素按照链式存储结构进⾏存储的数据结构,这种存储结构具有在物理上存在⾮连 续的特点,每个数据结点包括数据域和指针域两部分。其中指针域保存了数据结构中下⼀ 个元素存放的地址。
栈Stack
限制在表的⼀端进⾏插⼊和删除运算的线性表,通常称插⼊、删除的这⼀端为栈顶 (Top),另⼀端为栈底(Bottom)
先进后出
队列Queue
限制在表的⼀端进⾏插⼊,⽽在另⼀端进⾏删除。允许删除的⼀端称为队头(front),允 许插⼊的⼀端称为队尾(rear)
先进先出
hash表
- 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)⽽直接进⾏访问的数据结 构。也就是说,它通过把关键码值映射到表中⼀个位置来访问记录,以加快查找的速度 。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
- 散列函数 能使对⼀个数据序列的访问过程更加迅速有效,通过散列函数,数据元素将被更快地定位。