徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
安装
比浏览器更快的访问!
 

数组

指数 数组

在計算機科學中,陣列資料結構(array data structure),簡稱数组(Array),是由相同类型的元素(element)的集合所組成的資料結構,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素對應的儲存地址。 最簡單的資料結構類型是一維陣列。例如,索引為0到9的32位元整數陣列,可作為在記憶體位址2000,2004,2008,...2036中,儲存10個變量,因此索引為i的元素即在記憶體中的2000+4×i位址。陣列第一個元素的記憶體位址稱為第一位址或基礎位址。 二维数组,对应于數學上的矩陣概念,可表示為二維矩形格。例如: a.

38 关系: ALGOL 60双端队列变量 (程序设计)向量堆 (数据结构)堆栈多元组字符串字面常量 (C语言)二维数组作用域從零開始的編號哈希表冯·诺伊曼结构关联数组值 (電腦科學)C++C语言COBOL矩阵秩 (线性代数)约翰·冯·诺伊曼编程语言编译期記憶體管理記憶池记录資料類型边界检查队列链表FortranJavaLISPMicrosoft Visual C++Vector (STL)数据库数据结构

ALGOL 60

ALGOL 60(源自ALGOrithmic Language 1960的縮寫),一種程式語言,是ALGOL語言家族中的成員之一。根據ALGOL 58的基礎,它在1960年被創造,並影響到其後的CPL、BCPL、B語言、Pascal、Simula、C語言,在程式語言中有著很大的影響力。 它的後繼者是ALGOL 68與ALGOL W。.

新!!: 数组和ALGOL 60 · 查看更多 »

双端队列

双端队列(deque,全名double-ended queue)是一种具有-zh-hans:队列; zh-hant:佇列;-和-zh-hans:栈; zh-hant:堆疊;-性质的抽象数据类型。双端队列中的元素可以从两端弹出,插入和删除操作限定在--的两邊进行。.

新!!: 数组和双端队列 · 查看更多 »

变量 (程序设计)

在程序設計中,變數(Variable,scalar)是指一個包含部分已知或未知數值或資訊(即一個值)之儲存位址,以及相對應之符號名稱(識別字)。通常使用變數名稱參照儲存值;將名稱和內容分開能讓被使用的名稱獨立於所表示的精確訊息之外。電腦原始碼中的識別字能在執行期間綁紮一個值,且該變數的值可能在程式執行期間改變。 程序設計中的變數不一定能直接對應到數學中所謂的變數之概念。在程序設計中,變數的值不一定要為方程或數學公式之一部分。程序設計中的變數可使用在一段可重復的程序:在一處賦值,然後使用於另一處,接著在一次賦值,且以相同方式再使用一次(見迭代)。程序設計中的變數通常會給定一個較長的名稱,以描述其用途;數學中的變數通常較為簡潔,只給定一、兩個字母,以方便抄寫及操作。 一個變數的儲存位址可以被不同的識別字所參照,這種情況稱之為別名。使用其中一個識別字為變數賦值,將會改變透過另一個識別字存取的值。 編譯器必須將代表變數的名稱替代成該數據所在的實際位址。變數的名稱、類型及位址通常會維持固定,但該位址所儲存之數據於程式執行期間則可能會改變。.

新!!: 数组和变量 (程序设计) · 查看更多 »

向量

向量(vector,物理、工程等也称作--)是数学、物理学和工程科学等多个自然科學中的基本概念,指一个同时具有大小和方向,且满足平行四边形法则的几何對象。一般地,同时满足具有大小和方向两个性质的几何对象即可认为是向量(特别地,电流属既有大小、又有正负方向的量,但由于其运算不满足平行四边形法则,公认为其不属于向量)。向量常常在以符号加箭头标示以区别于其它量。与向量相对的概念称标量或数量,即只有大小、绝大多数情况下没有方向(电流是特例)、不满足平行四边形法则的量。.

新!!: 数组和向量 · 查看更多 »

堆 (数据结构)

堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。《数据结构与算法分析》 Mark Allen Weiss(美)第六章,优先队列(堆)。.

新!!: 数组和堆 (数据结构) · 查看更多 »

堆栈

--(stack)又稱為棧或--,是计算机科學中一種特殊的串列形式的抽象資料型別,其特殊之處在於只能允許在連結串列或陣列的一端(稱為堆疊頂端指標,top)進行加入数据(push)和輸出数据(pop)的運算。另外--也可以用一維数组或連結串列的形式來完成。堆疊的另外一個相對的操作方式稱為佇列。 由於堆疊資料結構只允許在一端進行操作,因而按照後進先出(LIFO, Last In First Out)的原理運作。.

新!!: 数组和堆栈 · 查看更多 »

多元组

多元組泛指有限個元素所組成的序列。在數學上及計算機科學上分別有其特殊的意義。 数学上,n元组或多元组是对象个数有限的序列。元组由三部分组成:边界符、分隔符和元素。通常采用的边界符是小括号“(\)”,分隔符是逗号。 多元组被数学家用来描述包含特定部件的数学对象。例如,有向图被定义成一个二元组(V, E),这里V是节点的集合,E是V × V的子集,表示边。 在類型論中,多元組與重類別相關。.

新!!: 数组和多元组 · 查看更多 »

字符串

字符串(String),是由零个或多个字符组成的有限序列。一般记为s.

新!!: 数组和字符串 · 查看更多 »

字面常量 (C语言)

字面常量(literal constant),是C程序设计语言与C++语言的词法上的概念(lexical conventions),是指源程序中表示固定值的符号(token)。 下述内容遵从C11与C++11语言标准。.

新!!: 数组和字面常量 (C语言) · 查看更多 »

二维数组

二维数组A_,每个元素的长度为t个字节,设a_为A的第一个元素,即二维数组的行下标从p到m,列下标从q到n,按“行优先顺序”存储时则元素a_的地址计算为: LOC(a_).

新!!: 数组和二维数组 · 查看更多 »

作用域

在電腦程式設計中,作用域(scope,或譯作有效範圍)是名字(name)与实体(entity)的绑定(binding)保持有效的那部分计算机程序。不同的编程语言可能有不同的作用域和名字解析。而同一语言内也可能存在多种作用域,随实体的类型变化而不同。作用域类别影響變量的绑定方式,根據語言使用靜態作用域還是動態作用域变量的取值可能会有不同的結果。.

新!!: 数组和作用域 · 查看更多 »

從零開始的編號

從0開始編號或索引開頭為0是一種編號方式,在序列其中初始元素的索引被分配到的數字是零,而非一般日常環境中典型的索引開頭為一。從零開始的編號方式,序列中初始的元素有時被稱為第零元素(一般稱為第一元素);「第零」索引是對應於數字零的序數。 某些情況下,原來並不屬於該序列的物件或值,但可以自然地放置在其初始元素之前的,或稱其為第零元素。使用零作為序數並未被廣泛接受,因為在缺乏上下文時,對序列的所有後續元素會造成混淆。 從0開始編號的序列在數學符號中是相當常見的,特別是在組合數學中,儘管數學領域的編程語言通常從一開始編號。計算機科學中,現代編程語言中(例如C語言)陣列的索引通常從0開始,因此編程人員會用「第零」開始索引,而其他人是使用「第一」開始索引的情況。在數學中對於出現在「第一個」之前的元素,其序數形式有明確的定義時,則使用從零開始的編號不會造成混淆;例如函數的第零階導數是進行零次微分獲得的,亦即函數本身。對應於不屬於該序列,但以這樣子命名法在其之前面的元素,或不妥當:所謂「第零階」的導數實際並非導數。然而,正如一階導數在二階導數之前,因此第零階導數(或原始函數本身)也在一階導數之前。.

新!!: 数组和從零開始的編號 · 查看更多 »

哈希表

散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。 一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名x到首字母F(x)的一个函数关系),在首字母为W的表中查找“王”姓的电话号码,显然比直接查找就要快得多。这里使用人名作为关键字,“取首字母”是这个例子中散列函数的函数法则F(),存放首字母的表对应散列表。关键字和函数法则理论上可以任意确定。.

新!!: 数组和哈希表 · 查看更多 »

冯·诺伊曼结构

冯·诺伊曼结构(Von Neumann architecture),也称馮·紐曼模型(Von Neumann model)或普林斯顿结构(Princeton architecture),是一种将程序指令存储器和数据存储器合并在一起的電腦設計概念结构。本詞描述的是一種實作通用圖靈機的計算裝置,以及一種相對於平行計算的序列式架構參考模型(referential model)。 本架構隱約指導了將儲存裝置與中央處理器分開的概念,因此依本架構設計出的計算機又稱存储程序计算机。.

新!!: 数组和冯·诺伊曼结构 · 查看更多 »

关联数组

在计算机科学中,关联数组(),又称映射()、字典()是一个抽象的数据结构,它包含着类似于(键,值)的有序对。一个关联数组中的有序对可以重复(如C++中的multimap)也可以不重复(如C++中的map)。 这种数据结构包含以下几种常见的操作:.

新!!: 数组和关联数组 · 查看更多 »

值 (電腦科學)

在计算机科学中,值(Value)是一无法进一步求值的表达式。例如,表达式“1 + 2”不是一个值,因为它可以被化简为表达式“3”。表达式“3”不能够继续化简,因此它是一个值。表达式既有类型(type)属性,又有值分类(value categories)属性。两种属性彼此独立。也就是说,对每一种类型的表达式,都有各种值分类。 大多数编程语言支持几种常见的值。.

新!!: 数组和值 (電腦科學) · 查看更多 »

C++

C++是一種使用廣泛的计算机程序設計語言。它是一種通用程序設計語言,支援多重编程模式,例如程序化程序設計、数据抽象、面向对象程序設計、泛型程序設計和设计模式等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多繼承(multiple inheritance)、标准模板库(standard template library, STL)、异常处理(exception)、运行时类型信息(Runtime type information)、命名空間(namespace)等概念逐漸納入標準。1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新标准为ISO/IEC 14882:2017。根據《C++編--程思想》(Thinking in C++)一書,C++與C的代码执行效率往往相差在±5%之間。 C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向对象語言,並且憑藉着接近C語言的效率,在工業界使用的開發語言中佔據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程序設計在C++中佔據了越來越多的比重。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL(Boost)等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。.

新!!: 数组和C++ · 查看更多 »

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

新!!: 数组和C语言 · 查看更多 »

COBOL

COBOL(),其名稱來自於通用商業語言(Common Business Oriented Language,又譯為面向常規業務型語言/常規商業信息處理語言)的縮寫,是最早的高階程式語言、以及是世界上最早實施標準化的計算機語言之一。屬於編譯語言。.

新!!: 数组和COBOL · 查看更多 »

矩阵

數學上,一個的矩陣是一个由--(row)--(column)元素排列成的矩形阵列。矩陣--的元素可以是数字、符号或数学式。以下是一个由6个数字元素构成的2--3--的矩阵: 大小相同(行数列数都相同)的矩阵之间可以相互加减,具体是对每个位置上的元素做加减法。矩阵的乘法则较为复杂。两个矩阵可以相乘,当且仅当第一个矩阵的--数等于第二个矩阵的--数。矩阵的乘法满足结合律和分配律,但不满足交换律。 矩阵的一个重要用途是解线性方程组。线性方程组中未知量的系数可以排成一个矩阵,加上常数项,则称为增广矩阵。另一个重要用途是表示线性变换,即是诸如.

新!!: 数组和矩阵 · 查看更多 »

秩 (线性代数)

在线性代数中,一个矩阵A的列秩是A的线性獨立的纵列的极大数目。类似地,行秩是A的线性獨立的横行的极大数目。 矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵A的秩。通常表示为r(A),rk(A)或rank A。.

新!!: 数组和秩 (线性代数) · 查看更多 »

约翰·冯·诺伊曼

约翰·冯·诺伊曼(John von Neumann,,,),原名诺依曼·雅诺士·拉约士(Neumann János Lajos,),出生於匈牙利的美國籍猶太人数学家,现代電子計算機与博弈论的重要创始人,在泛函分析、遍历理论、几何学、拓扑学和数值分析等众多数学领域及計算機學、量子力學和经济学中都有重大貢獻。 冯·诺伊曼从小就以过人的智力与记忆力而闻名。冯·诺伊曼一生中发表了大约150篇论文,其中有60篇纯数学论文,20篇物理学以及60篇应用数学论文。他最后的作品是一个在医院未完成的手稿,后来以书名《》发布,表现了他生命最后时光的兴趣方向。 “诺依曼”和“诺伊曼”2种同音不同字的德音汉语译名写法都比较常见。另外也有资料采用其英音汉语译名“冯纽曼”。.

新!!: 数组和约翰·冯·诺伊曼 · 查看更多 »

编程语言

编程语言(programming language),是用来定义计算机程序的形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 最早的编程语言是在電腦發明之前產生的,當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言,而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序,而有些编程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。 编程语言的描述一般可以分為及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他55語言(像Perl)有一份主要的文件,視為是。.

新!!: 数组和编程语言 · 查看更多 »

编译期

编译期(compile time)是指程序设计中,编译器在编译源代码时的行为。包括语法分析、语义分析、类型检查(type check)、模板实例化、等。 程序设计语言通常指出源程序必须满足的编译期要求。 程序的一些性质在编译期可推导,如数组越界、无死锁、分时时间片等。 有些程序设计语言在链接期或运行期才执行一部分编译。如即时编译(Just-in-time compilation)。.

新!!: 数组和编译期 · 查看更多 »

記憶體管理

内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。 一個執行中的程式,譬如網頁瀏覽器在個人電腦或是圖靈機(Turing machine)裡面,為一個进程將資料轉換於真實世界及電腦記憶體之間,然後將資料存於電腦記憶體內部(在電腦科學,一個程式是一群指令的集合,一個进程是電腦在執行中的程式)。記憶體能被實際組織在許多方法裡頭,例如磁帶或是磁盤,或是小陣列容量的微晶片。 從1950年代開始,計算機變的更複雜,它被連線於許多種類的記憶體。記憶體管理的任務也變得複雜,甚至必須要在同一台機器上相同的時間執行多個进程。 在記憶體內,一個程式(作業系統)在每一個資料區段持續地追蹤實體位置,及移動實體上的資料去改善其效能及保證可靠性,對於每個用户層(user-level)的程式,作業系統分配一段虛擬記憶體空間,當行程起始時,不需要移動資料到實體裝置間,資料存於磁碟內的虛擬記憶體空間,也不需要去配置主記憶體空間給該行程,當使用者有需要用到時,他們才会很自由地載入到主記憶體內。 可以想像一個很大的程式,當他執行時變成行程,而大部分的記憶體空間都被存到磁碟內虛擬記憶體位址,需要用到的部分才被載入到記憶體內部提供服務。.

新!!: 数组和記憶體管理 · 查看更多 »

記憶池

記憶池 (Memory Pool),又被稱為固定大小區塊規劃 (fixed-size-blocks allocation),允許程式設計師以類似 C語言 的 malloc 或是 C++ 的 new 運算元進行動態的記憶體規劃。對於其它動態記憶體規劃的實踐來說,因為會變動記憶體區塊大小導致的碎片問題,導致在實時系統上受限於效能因此,根本無法使用。記憶池提供了一個更有效率的解決方案:預先規劃一定數量的記憶體區塊,使得整個程式可以在執行期規劃 (allocate)、使用 (access)、歸還 (free) 記憶體區塊。 有許多實時作業系統採用了記憶池,IBM 的 Transaction Processing Facility 便是其中一個例子。.

新!!: 数组和記憶池 · 查看更多 »

记录

在计算机科學中,记录(record)也稱為結構體(structure)或複合資料(compound data)是基本的数据结构,記錄是一些相关欄位的聚集,它们可由不同的資料類型組成,通常是固定的數量和序列。记录中的每个欄位或稱為元素,但可能與集合的元素概念混淆不清。在物件導向編程中,記錄的欄位也另外被稱為成員;依照慣例和具體的編程語言,多元组有可能會被認為是一個記錄,反之亦然。 譬如將日期儲存為一個記錄,則其中包含了數字的年份,以字串表示的月份和數字的日期等欄位。而人事記錄可包含姓名,薪水和職級等欄位。一個圓形的記錄可包含圓中心點和它的半徑-在這種情況下,圓中心點本身可能表示為x和y座標的點記錄。 記錄與陣列的區別在於,它們的欄位數通常是固定的,每個欄位都有一個名稱,而且每個欄位可能有不同的類型。 一個記錄型別是描述其中欄位所具有值和變量的資料類型。大多數現代計算機語言允許開發人員自由定義新的記錄型別。記錄型別的定義將會指定每個欄位的資料類型和存取它的標識符(名稱或標籤)。 記錄可以存在於任何存儲介質中,包括主記憶體和大容量存儲裝置,如磁帶或硬盤。記錄是大多數資料結構的基本組成部分,特別是鏈接的資料結構。 許多計算機檔案是以邏輯記錄的陣列組成的,通常被分組成更大的實體記錄或區塊以提高存取效率。 函數或程序的參數通常當作是一個記錄變量其中的欄位;而在呼叫該函數時,傳遞給它的參數可被視為將欄位的值指派給該記錄變量。此外,通常用於實現程序調用的呼叫堆疊中,每個登錄即是一條啟動記錄或呼叫框頁,包含了程序參數和局部變量,返回位址和其它內部欄位。 物件導向語言中的物件本質上是一個記錄,有如何處理該記錄的專用程序;而物件型別是對記錄類型的詳細描述。實際上在大多數物件導向語言中,記錄只是物件的特殊情況,並且被稱為普通舊資料結構(plain old data structures, PODS),與使用OO特徵的物件形成對比。 計算機的記錄可類比為數學的元組。相同地,記錄型別可看作是兩個或多個數學集合的笛卡爾積,或是以特定語言實作的抽象乘積型別。 在许多计算机语言中,都对结构有所定义:.

新!!: 数组和记录 · 查看更多 »

資料類型

在程式設計的型別系統中,数据类型(Data type)是用來約束数据的解釋。在程式語言中,常見的数据类型包括--(如:整數、浮點數或字元)、多元組、記錄單元、代數資料型別、抽象数据类型、參考型別、类以及函式型別。資料型別描述了數值的表示法、解釋和結構,並以演算法操作,或是物件在記憶體中的儲存區,或者其它儲存裝置。.

新!!: 数组和資料類型 · 查看更多 »

边界检查

边界检查在程序设计中是指在使用某一个变量前,检查该变量是否处在一个特定范围之内。最常见的是数组的下标检查,防止下标超出数组范围而覆盖其他数据。 若是边界检查未能有效发现错误,最常见的结果是程序出现异常并终止运行,但也可能出现其他现象。 由于每次都进行边界检查非常耗时,而且有些代码确定不会出现越界问题,所以这个操作并不总是需要被执行。一些现代编译器中有称为选择性边界检查的技术,可以略去一些常见的不需要的边界检查,从而提高程序的性能。.

新!!: 数组和边界检查 · 查看更多 »

队列

--,又稱為--(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。 队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。.

新!!: 数组和队列 · 查看更多 »

链表

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而顺序表相应的时间复杂度分别是O(logn)和O(1)。 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。 在计算机科学中,链表作为一种基础的数据结构可以用来生成其它类型的数据结构。链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向上一个/或下一个节点的位置的链接("links")。链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。而链表是一种自我指示数据类型,因为它包含指向另一个相同类型的数据的指针(链接)。链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。链表有很多种不同的类型:单向链表,双向链表以及循环链表。 链表可以在多种编程语言中实现。像Lisp和Scheme这样的语言的内建数据类型中就包含了链表的存取和操作。程序语言或面向对象语言,如C/C++和Java依靠易变工具来生成链表。.

新!!: 数组和链表 · 查看更多 »

Fortran

福傳(Fortran),源自於「公式翻译」(Formula Translation)的縮寫,是一種程式語言。1957年由IBM開發出,是世界上第一个被正式采用並流传至今的高级编程語言。.

新!!: 数组和Fortran · 查看更多 »

Java

Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,广泛应用于企业级Web应用开发和移动应用开发。 任職於昇陽電腦的詹姆斯·高斯林等人于1990年代初开发Java語言的雛形,最初被命名为Oak,目標設定在家用电器等小型系統的程式语言,應用在电视机、电话、闹钟、烤面包机等家用电器的控制和通訊。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代網際網路的发展,Sun公司看見Oak在網際網路上应用的前景,于是改造了Oak,於1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的-zh-hans:指针; zh-hant:指標;-,改以-zh-hans:引用; zh-hant:參照;-取代,同時移除了C++中的--和多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。昇陽電腦对Java语言的解释是:「Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言」 Java不同於一般的编译語言或直譯語言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的執行速度有了大幅提升。 与传统型態不同,Sun公司在推出Java時就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司後來推出了与之竞争的.NET平台以及模仿Java的C#语言。後來Sun公司被甲骨文公司併購,Java也隨之成為甲骨文公司的產品。 現時,行動作業系統Android大部分的代碼採用Java 程式設計語言編程。.

新!!: 数组和Java · 查看更多 »

LISP

LISP是具有悠久歷史的計算機編程語言家族,有獨特和完全括號的前綴符號表示法。起源於西元1958年,是現今第二悠久而仍廣泛使用的高階編程語言。只有FORTRAN編程語言比它更早一年。LISP編程語族已經演變出許多種方言。現代最著名的通用編程語種是Common Lisp和Scheme。 LISP最初創建時受到阿隆佐·邱奇的lambda演算的影響,用來作為計算機程序實用的數學表達。因為是早期的高階編程語言之一,它很快成為人工智能研究中最受歡迎的編程語言。在計算機科學領域,LISP開創了許多先驅概念,包括:.

新!!: 数组和LISP · 查看更多 »

Microsoft Visual C++

Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)是微軟公司的C++開發工具,具有集成开发环境,可提供編輯C語言,C++以及C++/CLI等编程語言。VC++整合了便利的除錯工具,特別是整合了微軟Windows视窗操作系统应用程序接口(Windows API)、三维動畫DirectX API,Microsoft.NET框架。目前最新的版本是Microsoft Visual C++ 2017。.

新!!: 数组和Microsoft Visual C++ · 查看更多 »

Vector (STL)

Vector 是C++標準程式庫中的一個類,可視為會自動擴展容量的陣列,以循序(Sequential)的方式維護變數集合。vector的特色有支持隨機存取,在集合尾端增刪元素很快,但是在集合中間增刪元素比較費時。vector是C++標準程式庫中的眾多容器(container)之一。 vector以模板(泛型)方式實現,可以保存任意類型的變數,包括使用者自定義的資料型態,例如:它可以是放置整數(int)型態的 vector、也可以是放置字串(string)型態的 vector、或者放置使用者自定類別(user-defined class)的 vector。.

新!!: 数组和Vector (STL) · 查看更多 »

数据库

--,簡而言之可視為電子化的檔案櫃——儲存电子檔案的處所,使用者可以對檔案中的資料執行新增、擷取、更新、刪除等操作。 所謂「資料庫」係以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。.

新!!: 数组和数据库 · 查看更多 »

数据结构

在计算机科学中,数据结构(data structure)是计算机中存储、组织数据的方式。 数据结构意味着介面或封装:一个数据结构可被视为两个函数之间的介面,或者是由数据类型联合组成的存储内容的访问方法封装。 大多数数据结构都由数列、记录、可辨识联合、引用等基本类型构成。举例而言,可為空的引用(nullable reference)是引用与可辨识联合的结合体,而最简单的链式结构链表则是由记录与可空引用构成。 数据结构可透过程式语言所提供的数据类型、引用及其他操作加以实现。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,支援各種程式執行。 不同种类的数据结构适合不同种类的应用,部分資料結構甚至是為了解決特定問題而設計出來的。例如B树即為加快樹狀結構存取速度而設計的資料結構,常被應用在資料庫和檔案系統上。 正確的数据结构選擇可以提高演算法的效率(請參考)。在電腦程式设计的過程裡,选择适当的数据结构是一項重要工作。许多大型系统的編寫经验顯示,程式設計的困难程度与最终成果的质量与表现,取决于是否选择了最適合的数据结构。 系統架構的关键因素是数据结构而非算法的見解,导致了多种形式化的设计方法与编程语言的出现。绝大多数的语言都带有某种程度上的模块化思想,透过将数据结构的具体实现封装隐藏于使用者介面之后的方法,来让不同的应用程序能够安全地重用这些数据结构。C++、Java、Python等面向对象的编程语言可使用类 (计算机科学)来達到這個目的。 因为数据结构概念的普及,现代编程语言及其API中都包含了多种預設的数据结构,例如 C++ 标准模板库中的容器、Java集合框架以及微软的.NET Framework。.

新!!: 数组和数据结构 · 查看更多 »

重定向到这里:

Array數組陣列

传出传入
嘿!我们在Facebook上吧! »