Knowledge

Array (data type)

Source 📝

632: 1051:. Other array types (such as Pascal strings) provide a concatenation operator, which can be used together with slicing to achieve that effect and more. In some languages, assigning a value to an element of an array automatically extends the array, if necessary, to include that element. In other array types, a slice can be replaced by an array of different size, with subsequent elements being renumbered accordingly – as in Python's list assignment " 539: 513:, etc.. Such index values cannot be restricted to an interval, much less a fixed interval. So, these languages usually allow arbitrary new elements to be created at any time. This choice precludes the implementation of array types as array data structures. That is, those languages use array-like syntax to implement a more general 805:
array types, for which the minimum valid value for any index is 0. This choice is convenient for array implementation and address computations. With a language such as C, a pointer to the interior of any array can be defined that will symbolically act as a pseudo-array that accommodates negative
1007:
operation takes a subset of the elements of an array-typed entity (value or variable) and then assembles them as another array-typed entity, possibly with other indices. If array types are implemented as array structures, many useful slicing operations (such as selecting a sub-array, swapping
782:
or aborting the program when any index is out of its valid range. Compilers may allow these checks to be turned off to trade safety for speed. Other languages (like FORTRAN and C) trust the programmer and perform no checks. Good compilers may also analyze the program to determine the range of
837:
The relation between numbers appearing in an array declaration and the index of that array's last element also varies by language. In many languages (such as C), one should specify the number of elements contained in the array; whereas in others (such as Pascal and
1012:
of the structure. The possible slicings depend on the implementation details: for example, FORTRAN allows slicing off one column of a matrix variable, but not a row, and treat it as a vector; whereas C allow slicing off a row from a matrix, but not a column.
620:. Thus, an array of numbers with 5 rows and 4 columns, hence 20 elements, is said to have dimension 2 in computing contexts, but represents a matrix that is said to be 4×5-dimensional. Also, the computer science meaning of "rank" conflicts with the notion of 723:
Array data types are most often implemented as array structures: with the indices restricted to integer (or totally ordered) values, index ranges fixed at array creation time, and multilinear element addressing. This was the case in most
670:
This representation for multi-dimensional arrays is quite prevalent in C and C++ software. However, C and C++ will use a linear indexing formula for multi-dimensional arrays that are declared with compile time constant size, e.g. by
995:
operations with the performance characteristics discussed above. Vectors can be queried for their size and can be resized. Slower operations like inserting an element in the middle are also supported.
252:'s programming language Superplan (1949–1951) included multi-dimensional arrays. Rutishauser however although describing how a compiler for his language should be built, did not implement one. 214:
model with the basic operations and behavior of a typical array type in most languages – basically, a collection of elements that are selected by indices computed at run-time.
1028:(also called resizable, growable, or extensible): array variables whose index ranges may be expanded at any time after creation, without changing the values of its current elements. 821:
array types, whose minimum legal indices are chosen by the programmer. The relative merits of each choice have been the subject of heated debate. Zero-based indexing can avoid
744:. In some languages, however, array data types have the semantics of associative arrays, with indices of arbitrary type and dynamic element creation. This is the case in some 842:) one should specify the numeric value of the index of the last element. Needless to say, this distinction is immaterial in languages where the indices start at 1, such as 631: 976:
Elements of a newly created array may have undefined values (as in C), or may be defined to have a specific "default" value such as 0 or a null pointer (as in Java).
949:") to build values of that type. In some languages (such as C), a string is just an array of characters, or is handled in much the same way. Other languages, like 136:
of that type, which is an aggregate of eight elements, each being an integer variable identified by two indices. In the Pascal program, those elements are denoted
667:, where each row may have a different size – or, in general, where the valid range of each index depends on the values of all preceding indices. 961:
Some programming languages provide operations that return the size (number of elements) of a vector, or, more generally, range of each index of an array. In
647:
to arrays of one dimension less. A two-dimensional array, in particular, would be implemented as a vector of pointers to its rows. Thus an element in row
925:. These capabilities are also provided via standard extension libraries for other general purpose programming languages (such as the widely used 858:, where operations and functions defined for certain data types are implicitly extended to arrays of elements of those types. Thus one can write 796: 482:), and require that all elements have the same data type and storage size. Most of those languages also restrict each index to a finite 217:
Depending on the language, array types may overlap (or be identified with) other data types that describe aggregates of values, such as
973:
function, so programmers often have to declare separate variable to hold the size, and pass it to procedures as a separate parameter.
439:
The first axiom means that each element behaves like a variable. The second axiom means that elements with distinct indices behave as
1513: 1066:
An extensible array can be implemented as a fixed-size array, with a counter that records how many elements are actually in use. The
1241: 1275: 258:
Because of the importance of array structures for efficient computation, the earliest high-level programming languages, including
1884: 1518: 639:
Many languages support only one-dimensional arrays. In those languages, a multi-dimensional array is typically represented by an
497:
On the other hand, some programming languages provide more liberal array types, that allow indexing by arbitrary values, such as
116:
may use to define such types and declare array variables, and special notation for indexing array elements. For example, in the
1508: 1503: 1330: 1285: 1251: 725: 1491: 1392: 813:
array types, where each index starts at 1; this is the traditional convention in mathematics for matrices and mathematical
1199: 560: 171: 66: 1669: 1161: 616:
of the array type. (This nomenclature conflicts with the concept of dimension in linear algebra, which expresses the
586: 568: 1100: 78: 1642: 17: 1759: 1564: 1496: 1458: 564: 1086:
operation may re-allocate the underlying array with a larger size, and copy the old elements to the new area.
1945: 930: 1659: 1589: 1437: 918: 902: 893:
Languages providing array programming capabilities have proliferated since the innovations in this area of
779: 729: 644: 510: 182: 1016:
On the other hand, other slicing operations are possible when array types are implemented in other ways.
1008:
indices, or reversing the direction of the indices) can be performed very efficiently by manipulating the
1914: 1549: 1105: 950: 875: 784: 613: 506: 117: 62: 1349: 1537: 1110: 843: 753: 733: 471: 153: 617: 1847: 1799: 1711: 1689: 1684: 1612: 1478: 1432: 942: 906: 502: 255:
Assembly languages and low-level languages like BCPL generally have no syntactic support for arrays.
222: 167: 1721: 1385: 962: 898: 894: 749: 549: 58: 443:
variables, so that storing a value in one element does not affect the value of any other element.
1874: 1789: 1060: 553: 279: 1617: 1473: 1427: 737: 483: 1607: 1582: 1130: 1095: 522: 663:
in typical notation). This way of emulating multi-dimensional arrays allows the creation of
1409: 802: 463: 440: 226: 175: 82: 31: 1223:
Lukham, Suzuki (1979), "Verification of array, record, and pointer operations in Pascal".
635:
A two-dimensional array stored as a one-dimensional array of one-dimensional arrays (rows)
8: 1940: 1879: 1857: 1784: 1637: 1629: 1378: 745: 699:
operations, and have special syntax for indexing. Early languages used parentheses, e.g.
1862: 1842: 1794: 1769: 1554: 1523: 1345: 486:
of integers, that remains fixed throughout the lifetime of the array variable. In some
467: 197: 1749: 1679: 1654: 1468: 1463: 1326: 1281: 1247: 1195: 1157: 855: 839: 806:
indices. This works only because C does not check an index against bounds when used.
514: 249: 206: 1894: 1779: 1577: 822: 451: 218: 65:), each selected by one or more indices (identifying keys) that can be computed at 42: 1935: 1899: 1764: 1716: 1649: 1070:
operation merely increments the counter; until the whole array is used, when the
826: 775: 769: 479: 27:
Data type that represents an ordered collection of elements (values or variables)
30:
This article is about the abstract data type. For the byte-level structure, see
1852: 1674: 1664: 1572: 1365: 1120: 1115: 946: 883: 498: 93:, respectively. More generally, a multidimensional array type can be called a 1929: 1774: 1075: 1025: 1004: 712: 640: 163: 105: 711:, as in Algol 60 and Pascal (to distinguish from the use of parentheses for 1731: 1706: 1125: 1031:
For one-dimensional arrays, this facility may be provided as an operation "
664: 491: 446:
These axioms do not place any constraints on the set of valid index tuples
159: 1173: 1909: 1904: 1754: 1701: 1528: 1009: 914: 879: 625: 621: 238: 234: 211: 189: 474:
data types (or other types that can be interpreted as integers, such as
1814: 1809: 1726: 1694: 1599: 1542: 783:
possible values that the index may have, and this analysis may lead to
518: 230: 113: 170:
types mainly because they allow the element indices to be computed at
1889: 1867: 1824: 1819: 1486: 1442: 1401: 1055:= ", that inserts three new elements (10,20, and 30) before element " 193: 50: 538: 1804: 814: 487: 267: 152:. Special array types are often defined by the language's standard 1325:(2nd ed.). Englewood Cliffs, N.J: Prentice Hall. p. 24. 953:, may provide vastly different operations for strings and arrays. 330:): the array that results by setting the value of that element to 1074:
operation may be defined to fail. This is an implementation of a
922: 604:
The number of indices needed to specify an element is called the
259: 69:
during program execution. Such a collection is usually called an
1277:
Learn Java for Android Development: Java 8 and Android 5 Edition
910: 98: 1370: 980: 966: 926: 757: 741: 624:, which is a generalization of the linear algebra concept of 490:
languages, in fact, the index ranges may have to be known at
462:
In order to effectively implement variables of such types as
339: 306: 263: 181:. Among other things, this feature allows a single iterative 35: 278:
An array data structure can be mathematically modeled as an
1422: 691:
Most programming languages that support arrays support the
475: 196:, the terms "array" and "array type" sometimes refer to an 185:
to process arbitrarily many elements of an array variable.
1366:
NIST's Dictionary of Algorithms and Data Structures: Array
1156:. Addison-Wesley. 4th edition (1998), 5th edition (2001), 1417: 1063:, and the two concepts are synonymous in some languages. 85:, array types with one and two indices are often called 917:. They are a core facility in newer languages, such as 270:(1960), provided support for multi-dimensional arrays. 1047:
by one and then sets the value of the last element to
1225:
ACM Transactions on Programming Languages and Systems
703:, as in FORTRAN; others choose square brackets, e.g. 104:
Language support for array types may include certain
817:. A few languages, such as Pascal and Lua, support 517:semantics, and must therefore be implemented by a 162:are also more common and easier to implement than 1307:Brian W. Kernighan and Dennis M. Ritchie (1988), 1927: 1321:Kernighan, Brian W.; Ritchie, Dennis M. (1988). 1320: 1194:. Springer. Paperback edition (2007) 184 pages, 1174:"Introduction to Tensors | TensorFlow Core" 1059:". Resizable arrays are conceptually similar to 774:Some languages (like Pascal and Modula) perform 450:, therefore this abstract model can be used for 108:array data types, some syntactic constructions ( 756:, and of some array types provided by standard 301:): the data stored in the element of the array 1386: 338:These operations are required to satisfy the 1239: 956: 866:to add corresponding elements of two arrays 188:In more theoretical contexts, especially in 77:. By analogy with the mathematical concepts 1246:. Prentice Hall Professional. p. 303. 1240:Deitel, Harvey M.; Deitel, Paul J. (2005). 886:, and which of these is represented by the 874:. Usually these languages provide both the 797:Comparison of programming languages (array) 599: 567:. Unsourced material may be challenged and 1393: 1379: 936: 470:), many languages restrict the indices to 1166: 1148: 1146: 728:languages, and is still the case of most 587:Learn how and when to remove this message 1043:)" that increases the size of the array 801:Some languages, such as C, provide only 229:, but sometimes by other means, such as 97:, by analogy with the physical concept, 1273: 945:data type, with specialized notation (" 225:. Array types are often implemented by 124:, defines a new array data type called 14: 1928: 1143: 659:would be accessed by double indexing ( 436:for which the operations are defined. 1374: 1184: 166:. Array types are distinguished from 686: 565:adding citations to reliable sources 532: 1082:type of Pascal. Alternatively, the 854:Some programming languages support 528: 192:and in the description of abstract 24: 1350:Why numbering should start at zero 983:a std::vector object supports the 941:Many languages provide a built-in 763: 630: 457: 273: 25: 1957: 1359: 1212:Concepts of Programming Languages 1154:Concepts of Programming Languages 1078:with a fixed capacity, as in the 897:. These are core capabilities of 876:element-by-element multiplication 34:. For other types of arrays, see 1101:Array database management system 849: 832: 537: 122:type MyTable = array of integer 53:that represents a collection of 1339: 790: 454:and other oddly-shaped arrays. 1400: 1314: 1301: 1274:Friesen, Jeff (5 March 2014). 1267: 1233: 1217: 1204: 718: 305:whose indices are the integer 13: 1: 1459:Arbitrary-precision or bignum 1214:. Cambridge University Press. 1192:PASCAL User Manual and Report 1190:K. Jensen and Niklaus Wirth, 1136: 890:operator varies by language. 809:Other languages provide only 730:systems programming languages 679:, instead of the traditional 643:, a one-dimensional array of 778:on every access, raising an 7: 1106:Bounds-checking elimination 1089: 1019: 785:bounds-checking elimination 118:Pascal programming language 10: 1962: 1323:The C programming language 1309:The C programming Language 1111:Delimiter-separated values 998: 969:arrays do not support the 794: 767: 244: 29: 1833: 1800:Strongly typed identifier 1742: 1628: 1598: 1563: 1451: 1408: 1152:Robert W. Sebesta (2001) 957:Array index range queries 899:domain-specific languages 600:Multi-dimensional arrays 132:then defines a variable 1875:Parametric polymorphism 1311:. Prentice-Hall, p. 81. 937:String types and arrays 921:and recent versions of 466:(with indexing done by 280:abstract data structure 110:array type constructors 1280:. Apress. p. 56. 636: 499:floating-point numbers 286:) with two operations 1131:Variable-length array 1096:Array access analysis 1024:Some languages allow 795:Further information: 634: 523:search data structure 227:array data structures 1946:Composite data types 561:improve this section 420:for any array state 32:Array data structure 1880:Primitive data type 1785:Recursive data type 1638:Algebraic data type 1514:Quadruple precision 1230:(2), 226–244. 746:scripting languages 452:triangular matrices 204:or may refer to an 174:, as in the Pascal 1843:Abstract data type 1524:Extended precision 1483:Reduced precision 1346:Edsger W. Dijkstra 1243:C# for Programmers 726:"third generation" 637: 468:pointer arithmetic 200:(ADT) also called 198:abstract data type 128:. The declaration 120:, the declaration 1923: 1922: 1655:Associative array 1519:Octuple precision 1332:978-0-13-110370-2 1287:978-1-4302-6455-2 1253:978-0-13-246591-5 878:and the standard 856:array programming 840:Visual Basic .NET 687:Indexing notation 618:shape of a matrix 597: 596: 589: 515:associative array 428:, and any tuples 250:Heinz Rutishauser 207:associative array 16:(Redirected from 1953: 1895:Type constructor 1780:Opaque data type 1712:Record or Struct 1509:Double precision 1504:Single precision 1395: 1388: 1381: 1372: 1371: 1353: 1343: 1337: 1336: 1318: 1312: 1305: 1299: 1298: 1296: 1294: 1271: 1265: 1264: 1262: 1260: 1237: 1231: 1221: 1215: 1208: 1202: 1188: 1182: 1181: 1170: 1164: 1150: 1085: 1081: 1073: 1069: 1034: 827:fencepost errors 710: 706: 702: 682: 678: 674: 626:rank of a matrix 592: 585: 581: 578: 572: 541: 533: 529:Language support 480:enumerated types 464:array structures 180: 151: 147: 143: 139: 135: 131: 127: 123: 43:computer science 21: 1961: 1960: 1956: 1955: 1954: 1952: 1951: 1950: 1926: 1925: 1924: 1919: 1900:Type conversion 1835: 1829: 1765:Enumerated type 1738: 1624: 1618:null-terminated 1594: 1559: 1447: 1404: 1399: 1362: 1357: 1356: 1344: 1340: 1333: 1319: 1315: 1306: 1302: 1292: 1290: 1288: 1272: 1268: 1258: 1256: 1254: 1238: 1234: 1222: 1218: 1210:John Mitchell, 1209: 1205: 1189: 1185: 1172: 1171: 1167: 1151: 1144: 1139: 1092: 1083: 1079: 1071: 1067: 1032: 1022: 1001: 959: 947:string literals 939: 852: 835: 799: 793: 776:bounds checking 772: 770:Bounds checking 766: 764:Bounds checking 721: 708: 704: 700: 689: 680: 676: 672: 602: 593: 582: 576: 573: 558: 542: 531: 460: 458:Implementations 276: 274:Abstract arrays 247: 178: 149: 145: 141: 137: 133: 129: 125: 121: 39: 28: 23: 22: 18:Array data type 15: 12: 11: 5: 1959: 1949: 1948: 1943: 1938: 1921: 1920: 1918: 1917: 1912: 1907: 1902: 1897: 1892: 1887: 1882: 1877: 1872: 1871: 1870: 1860: 1855: 1853:Data structure 1850: 1845: 1839: 1837: 1831: 1830: 1828: 1827: 1822: 1817: 1812: 1807: 1802: 1797: 1792: 1787: 1782: 1777: 1772: 1767: 1762: 1757: 1752: 1746: 1744: 1740: 1739: 1737: 1736: 1735: 1734: 1724: 1719: 1714: 1709: 1704: 1699: 1698: 1697: 1687: 1682: 1677: 1672: 1667: 1662: 1657: 1652: 1647: 1646: 1645: 1634: 1632: 1626: 1625: 1623: 1622: 1621: 1620: 1610: 1604: 1602: 1596: 1595: 1593: 1592: 1587: 1586: 1585: 1580: 1569: 1567: 1561: 1560: 1558: 1557: 1552: 1547: 1546: 1545: 1535: 1534: 1533: 1532: 1531: 1521: 1516: 1511: 1506: 1501: 1500: 1499: 1494: 1492:Half precision 1489: 1479:Floating point 1476: 1471: 1466: 1461: 1455: 1453: 1449: 1448: 1446: 1445: 1440: 1435: 1430: 1425: 1420: 1414: 1412: 1406: 1405: 1398: 1397: 1390: 1383: 1375: 1369: 1368: 1361: 1360:External links 1358: 1355: 1354: 1338: 1331: 1313: 1300: 1286: 1266: 1252: 1232: 1216: 1203: 1200:978-3540069508 1183: 1165: 1141: 1140: 1138: 1135: 1134: 1133: 1128: 1123: 1121:Parallel array 1118: 1116:Index checking 1113: 1108: 1103: 1098: 1091: 1088: 1026:dynamic arrays 1021: 1018: 1000: 997: 958: 955: 938: 935: 884:linear algebra 880:matrix product 851: 848: 834: 831: 792: 789: 768:Main article: 765: 762: 720: 717: 713:function calls 688: 685: 610:dimensionality 601: 598: 595: 594: 545: 543: 536: 530: 527: 521:or some other 459: 456: 418: 417: 397:) =  372: 368:) =  336: 335: 313: 284:abstract array 275: 272: 246: 243: 202:abstract array 164:dynamic arrays 130:var A: MyTable 71:array variable 26: 9: 6: 4: 3: 2: 1958: 1947: 1944: 1942: 1939: 1937: 1934: 1933: 1931: 1916: 1913: 1911: 1908: 1906: 1903: 1901: 1898: 1896: 1893: 1891: 1888: 1886: 1883: 1881: 1878: 1876: 1873: 1869: 1866: 1865: 1864: 1861: 1859: 1856: 1854: 1851: 1849: 1846: 1844: 1841: 1840: 1838: 1832: 1826: 1823: 1821: 1818: 1816: 1813: 1811: 1808: 1806: 1803: 1801: 1798: 1796: 1793: 1791: 1788: 1786: 1783: 1781: 1778: 1776: 1775:Function type 1773: 1771: 1768: 1766: 1763: 1761: 1758: 1756: 1753: 1751: 1748: 1747: 1745: 1741: 1733: 1730: 1729: 1728: 1725: 1723: 1720: 1718: 1715: 1713: 1710: 1708: 1705: 1703: 1700: 1696: 1693: 1692: 1691: 1688: 1686: 1683: 1681: 1678: 1676: 1673: 1671: 1668: 1666: 1663: 1661: 1658: 1656: 1653: 1651: 1648: 1644: 1641: 1640: 1639: 1636: 1635: 1633: 1631: 1627: 1619: 1616: 1615: 1614: 1611: 1609: 1606: 1605: 1603: 1601: 1597: 1591: 1588: 1584: 1581: 1579: 1576: 1575: 1574: 1571: 1570: 1568: 1566: 1562: 1556: 1553: 1551: 1548: 1544: 1541: 1540: 1539: 1536: 1530: 1527: 1526: 1525: 1522: 1520: 1517: 1515: 1512: 1510: 1507: 1505: 1502: 1498: 1495: 1493: 1490: 1488: 1485: 1484: 1482: 1481: 1480: 1477: 1475: 1472: 1470: 1467: 1465: 1462: 1460: 1457: 1456: 1454: 1450: 1444: 1441: 1439: 1436: 1434: 1431: 1429: 1426: 1424: 1421: 1419: 1416: 1415: 1413: 1411: 1410:Uninterpreted 1407: 1403: 1396: 1391: 1389: 1384: 1382: 1377: 1376: 1373: 1367: 1364: 1363: 1351: 1347: 1342: 1334: 1328: 1324: 1317: 1310: 1304: 1289: 1283: 1279: 1278: 1270: 1255: 1249: 1245: 1244: 1236: 1229: 1226: 1220: 1213: 1207: 1201: 1197: 1193: 1187: 1179: 1175: 1169: 1163: 1162:9780201385960 1159: 1155: 1149: 1147: 1142: 1132: 1129: 1127: 1124: 1122: 1119: 1117: 1114: 1112: 1109: 1107: 1104: 1102: 1099: 1097: 1094: 1093: 1087: 1077: 1076:dynamic array 1064: 1062: 1058: 1054: 1050: 1046: 1042: 1038: 1029: 1027: 1017: 1014: 1011: 1006: 1005:array slicing 996: 994: 990: 986: 982: 977: 974: 972: 968: 964: 954: 952: 948: 944: 934: 932: 928: 924: 920: 916: 912: 908: 904: 900: 896: 891: 889: 885: 881: 877: 873: 869: 865: 861: 857: 850:Array algebra 847: 845: 841: 833:Highest index 830: 828: 824: 820: 816: 812: 807: 804: 798: 788: 786: 781: 777: 771: 761: 759: 755: 751: 747: 743: 739: 735: 731: 727: 716: 714: 698: 694: 684: 668: 666: 665:jagged arrays 662: 658: 654: 650: 646: 642: 641:Iliffe vector 633: 629: 627: 623: 619: 615: 611: 607: 591: 588: 580: 570: 566: 562: 556: 555: 551: 546:This section 544: 540: 535: 534: 526: 524: 520: 516: 512: 508: 504: 500: 495: 493: 489: 485: 481: 477: 473: 469: 465: 455: 453: 449: 444: 442: 437: 435: 431: 427: 423: 416: 413: ≠  412: 408: 404: 400: 396: 392: 388: 384: 380: 376: 373: 371: 367: 363: 359: 355: 351: 347: 344: 343: 342: 341: 333: 329: 325: 321: 317: 314: 311: 308: 304: 300: 296: 292: 289: 288: 287: 285: 281: 271: 269: 265: 261: 256: 253: 251: 242: 240: 236: 232: 228: 224: 220: 215: 213: 209: 208: 203: 199: 195: 191: 186: 184: 177: 173: 169: 165: 161: 160:Dynamic lists 157: 155: 119: 115: 111: 107: 102: 100: 96: 92: 88: 84: 80: 76: 72: 68: 64: 60: 56: 52: 48: 44: 37: 33: 19: 1680:Intersection 1341: 1322: 1316: 1308: 1303: 1291:. Retrieved 1276: 1269: 1257:. Retrieved 1242: 1235: 1227: 1224: 1219: 1211: 1206: 1191: 1186: 1177: 1168: 1153: 1126:Sparse array 1065: 1056: 1052: 1048: 1044: 1040: 1036: 1030: 1023: 1015: 1002: 992: 988: 984: 978: 975: 970: 960: 940: 929:library for 892: 887: 871: 867: 863: 859: 853: 836: 818: 810: 808: 800: 791:Index origin 773: 722: 696: 692: 690: 669: 660: 656: 655:of an array 652: 648: 638: 609: 605: 603: 583: 574: 559:Please help 547: 496: 492:compile time 461: 447: 445: 438: 433: 429: 425: 424:, any value 421: 419: 414: 410: 406: 402: 398: 394: 390: 386: 382: 378: 374: 369: 365: 361: 357: 353: 349: 345: 337: 331: 327: 323: 319: 315: 309: 302: 298: 294: 290: 283: 277: 266:(1960), and 257: 254: 248: 239:search trees 235:linked lists 216: 212:mathematical 205: 201: 187: 158: 109: 103: 94: 90: 86: 74: 70: 54: 46: 40: 1910:Type theory 1905:Type system 1755:Bottom type 1702:Option type 1643:generalized 1529:Long double 1474:Fixed point 1010:dope vector 915:Mathematica 760:libraries. 719:Index types 651:and column 622:tensor rank 231:hash tables 190:type theory 179:A := A 112:) that the 95:tensor type 91:matrix type 87:vector type 75:array value 1941:Data types 1930:Categories 1815:Empty type 1810:Type class 1760:Collection 1717:Refinement 1695:metaobject 1543:signedness 1402:Data types 1178:TensorFlow 1137:References 823:off-by-one 803:zero-based 645:references 519:hash table 511:references 194:algorithms 176:assignment 114:programmer 1890:Subtyping 1885:Interface 1868:metaclass 1820:Unit type 1790:Semaphore 1770:Exception 1675:Inductive 1665:Dependent 1630:Composite 1608:Character 1590:Reference 1487:Minifloat 1443:Bit array 815:sequences 811:one-based 780:exception 606:dimension 548:does not 183:statement 154:libraries 63:variables 51:data type 1915:Variable 1805:Top type 1670:Equality 1578:physical 1555:Rational 1550:Interval 1497:bfloat16 1090:See also 1020:Resizing 901:such as 748:such as 732:such as 577:May 2009 488:compiled 484:interval 441:disjoint 268:Algol 60 262:(1957), 172:run time 106:built-in 67:run time 55:elements 1858:Generic 1834:Related 1750:Boolean 1707:Product 1583:virtual 1573:Address 1565:Pointer 1538:Integer 1469:Decimal 1464:Complex 1452:Numeric 999:Slicing 923:Fortran 819:n-based 681:int **A 569:removed 554:sources 507:objects 503:strings 472:integer 260:FORTRAN 245:History 223:strings 126:MyTable 1936:Arrays 1848:Boxing 1836:topics 1795:Stream 1732:tagged 1690:Object 1613:String 1329:  1293:22 May 1284:  1259:22 May 1250:  1198:  1160:  1084:append 1080:string 1072:append 1068:append 1033:append 993:append 991:, and 989:select 951:Pascal 943:string 931:Python 913:, and 911:Matlab 740:, and 701:A(i,j) 697:select 340:axioms 168:record 99:tensor 83:matrix 79:vector 59:values 1743:Other 1727:Union 1660:Class 1650:Array 1433:Tryte 1061:lists 985:store 927:NumPy 919:Julia 903:GAUSS 693:store 677:int A 673:int A 612:, or 476:bytes 409:) if 307:tuple 264:COBOL 237:, or 219:lists 148:, …, 49:is a 47:array 36:Array 1863:Kind 1825:Void 1685:List 1600:Text 1438:Word 1428:Trit 1423:Byte 1327:ISBN 1295:2024 1282:ISBN 1261:2024 1248:ISBN 1196:ISBN 1158:ISBN 971:size 965:and 870:and 752:and 695:and 614:rank 552:any 550:cite 478:and 282:(an 221:and 210:, a 89:and 81:and 1722:Set 1418:Bit 1348:, " 1003:An 981:C++ 979:In 967:C++ 933:). 907:IDL 895:APL 882:of 844:Lua 825:or 758:C++ 754:Lua 750:Awk 742:C++ 734:Ada 715:). 707:or 675:or 628:.) 563:by 399:get 393:), 379:set 375:get 364:), 350:set 346:get 316:set 291:get 73:or 61:or 41:In 1932:: 1176:. 1145:^ 987:, 909:, 905:, 846:. 829:. 787:. 736:, 683:. 608:, 525:. 509:, 505:, 501:, 494:. 432:, 405:, 389:, 360:, 297:, 241:. 233:, 156:. 144:, 140:, 101:. 45:, 1394:e 1387:t 1380:v 1352:" 1335:. 1297:. 1263:. 1228:1 1180:. 1057:A 1053:A 1049:x 1045:A 1041:x 1039:, 1037:A 1035:( 963:C 888:* 872:B 868:A 864:B 862:+ 860:A 738:C 709:A 705:A 661:A 657:A 653:j 649:i 590:) 584:( 579:) 575:( 571:. 557:. 448:I 434:J 430:I 426:V 422:A 415:J 411:I 407:J 403:A 401:( 395:J 391:V 387:I 385:, 383:A 381:( 377:( 370:V 366:I 362:V 358:I 356:, 354:A 352:( 348:( 334:. 332:V 328:V 326:, 324:I 322:, 320:A 318:( 312:. 310:I 303:A 299:I 295:A 293:( 150:A 146:A 142:A 138:A 134:A 57:( 38:. 20:)

Index

Array data type
Array data structure
Array
computer science
data type
values
variables
run time
vector
matrix
tensor
built-in
programmer
Pascal programming language
libraries
Dynamic lists
dynamic arrays
record
run time
assignment
statement
type theory
algorithms
abstract data type
associative array
mathematical
lists
strings
array data structures
hash tables

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.