数组和链表的优缺点

记得有一次,我在公交车上,看到一个人用手机玩跳跃游戏。
那个游戏是在一个不断增长的平台上移动,当它到达平台的边缘时游戏就结束了。
当时我突然想到,这个游戏是链表做的吗? 平台在不断增长,必须随时插入新平台,有时必须删除平台。
链表不正是适合这种操作吗?
等一下,还有一件事。
之前在做一个项目,需要存储很多用户信息。
一开始我们用的是数组,因为用户数量是固定的,看起来还蛮省事的。
但后来用户数量突然增多,阵法就变得有些困难了。
当插入新用户时,后续用户必须移回,效率非常低。
后来我们改用链表,效果更好。
添加和删​​除用户非常方便,而且内存利用率也高很多。

但是,链表的查找效率确实比较低。
有时我们需要根据用户ID快速查找用户信息。
使用链表,我们必须从第一个用户开始遍历,这是非常低效的。
这时候我们就考虑使用树或者哈希表来进行优化。
树可以快速定位节点,哈希表可以实现近恒定时间搜索。

现在我在想,如果有一种数据结构能够像数组一样随机访问快,又像链表一样方便插入和删除该多好? 或者,如果有办法利用链表来优化数组的查找效率,那也是不错的。
不知道有没有人研究过这种东西?

C语言中,数组在内存中占一片连续的存储区,由什么来代替它的首地址?

我能够用C语言编写一个学生信息管理系统。
我记得有一次,为了输入一个学生的名字,我写了这样的语句:scanf("%s", &c);为此编译器立即向我报错,说:这对句子不匹配。
我心想,他在哪里?我明明是写在C语言通知旁边的。
后来再仔细一看,发现前面写了邮件符号&,&c名字就安排好了。
这个名字本身就是一个有序的演讲。
添加&符号重复操作。

我还记得那是周末,我在家。
这是非常平凡的一天,但对我来说却是一个特殊的时刻。
我查了资料,发现数组本身的名称指向第一列。
因此scanf("%s", c)为真,不需要加&。

这个小错误让我对这部作品有了更深的理解。
但我想知道,是否有一种更短、更有效的方法来用 C 语言处理衣服?

为什么数组占用的是一个字节的内存?

上周 它以您想要的方式为您着装。
当用字符串常量初始化时,系统会自动添加“\0”。
所以数组获得 6 个字节。

有序的元素集。
相同类型的变量的有限集合的名称是数组的名称。
元素称为组件、元素和下标变量。
下标数字区分元素。

数组是编程中一种合适的处理形式。
排列相同类型的元素。
特点: 1 . 数组是相同类型的数据元素的集合。
2 、元素按​​顺序存储,在内存中连续存储。
3 . 使用数组名称和后面的位置表示元素。
例如,a[0] 是第一个,a 是第二个。

我不确定这部分。
他们永远不知道