对于具体的“列表”和“数组”,区别取决于编程语言,还是计算机科学领域的普遍性? 我是CS的新手,出于某种原因,我只听到Python中提到的'list'和Java中的'array',从未听过Java中的'array'或Python中的'list'。这是否意味着实施方面的差异?或只是在命名?'指令'与'指令'有什么不同? 'array'中的'list'?
回答
这可能取决于实际编程语言和/或平台...但在更一般的术语:
- 阵列是一组保持相同类型的元素在“连续存储器的包装“的方式。
- 列表是一组项目,由链接这些项目的指针(或类似机制)来解决。在内存中不一定是连续的
这是一个非常笼统的广义描述......不同的语言和平台可能会以不同的方式实现。在某些情况下,数组和列表可能难以区分。
更可能的是,一个数组有一个固定的大小(要调整它的大小,你必须创建一个新的数组,并将原始内容复制到它),并且不能有“洞”。列表具有(通常)动态容量,并且您可以在任何时候插入或删除项目而不会破坏原始列表。但是,这些实现细节可能会因您使用的编程语言而异。
我不同意。这是一个以* C *为中心的方式来看待它。 C#“List”对象是您在C++中称为“vector”的对象。 –
@MartinBonner我试过(不确定是否成功),给出了适用于多种语言的广泛描述,但是,不可能不偏袒某个地方。语言设计师可以标注他们想要的东西:-) – Jcl
C++或Java如何?我听说他们是最流行/标准的语言。这些语言中的“列表”,“数组”和“矢量”有何不同? –
- 1. 角度指令 - 为什么不更新指令中的变量?
- 2. 为什么我的指令不能使用ng-bind-html指令?
- 3. 为什么我不需要父指令的子指令?
- 4. Angular-formly:为什么指令的行为与类型不同?
- 5. 指令中的指令
- 6. 指令中的指令
- 7. 为什么HTML中没有'include'指令?
- 8. 相同的汇编指令,但不同的机器指令
- 9. 为什么跨范围与指令范围不同步?
- 10. AngularJS指令 - 多重指令同名
- 11. asm指令“ldr”和“ldr_post”有什么不同?
- 12. 这是什么movsbl指令?
- 13. 什么是每秒指令?
- 14. 什么是版本指令?
- 15. 什么是JVM指令?
- 16. 速度宏指令与指令
- 17. 这是什么指令?
- 18. AngularJS - 与其自身状态相同的指令中的更多相同指令
- 19. 什么是序言指令?
- 20. 指令可与其他指令沟通
- 21. 什么为0x0指示指令
- 22. Angular.JS - 一个指令中的指令,在指令中,指令内。范围问题
- 23. `test`指令做了什么?
- 24. 什么是callq指令?
- 25. 什么是特权指令?
- 26. movsbl指令做什么?
- 27. 什么是指令? dojo dstore
- 28. 什么是ng-app指令
- 29. 与JMP指令
- 30. 组件和指令有什么区别?
Python具有列表和数组,它们的行为不同。大多数情况下,当在Python上下文中提到数组时,numpy数组是指(而不是标准库中的数组)。所以是的,如果你正在谈论一种特定的语言,肯定会有一些背景依赖性。 – Evert
@Evert这个问题对于程序员来说是个很差的问题 - 它会很快被拒绝并在那里关闭,请参阅http://meta.programmers.stackexchange.com/questions/6483/why-was-my-question-closed -or-down-voted/6490#6490推荐阅读:** [Programmers.SE是怎么回事?一个堆栈溢出指南](http://meta.programmers.stackexchange.com/q/7182/31260)** – gnat