對於具體的「列表」和「數組」,區別取決於編程語言,還是計算機科學領域的普遍性? 我是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