首页 > 其他分享 >数组

数组

时间:2023-02-15 15:58:09浏览次数:38  
标签:end .. 数组 Integer Array SetLength

定义:数组类型定义了一组指定类型的元素序列

//声明方式一
type
  DayTemperatures = array [1..24] of Integer;

//声明方式二
var
  Names: array [1 .. 3] of string;

(1)不定长数组

定义:不定长数组,即动态数组,也就是声明的时候没有说长度是多少,在使用之前必须声明,长度是可以再分配的,序号必须从0开始,例子

var
    A : Array of Integer;    //定长数组 A :Array[0..10] of Integer
begin
    SetLength(A, 3);    //,设置数组长度,数组一共有3个元素
    A[0] := 1;
    A[1] := 2;
    A[2] := 3;

    //如果变长长度,直接增加后面的元素
    SetLength(A, 4);
    //现在增加了第四个元素,而前三个元素还是那三个
    A[3] := 4;
    //如果长度变短了,超出部分就会被去掉
    SetLength(A, 3);
    //现在A[3]没有了
end;

​ 有时候,大家这样要先设定长度,在赋值,很麻烦,现在介绍一个一气呵成的招数

type
    TA = Array of Integer;
var
    A : TA;
begin
    A := TA.Create(1, 2, 3);
    //此招请勿在Delphi 7上面使用

    //使用上面的方法之后,A[0] :=1, A[1] := 2, A[2]:=3
end;

(2)一维和多维

var
    A : Array[0..2, 0..2] of Integer;
    B : Array[0..2] of Array[0..2] of Integer;
begin
    A[0, 0] := 1;
    B[0, 0] := 1;
end;

​ 介绍二维数组中的不定长数组

var
    B : Array of Array of Integer
begin
    //设置一个3*3的矩阵
    SetLength(B, 3, 3);
     //如果需要实现齿状数组,必须像下面这么做
    SetLength(B, 3);
    SetLength(B[0], 1);
    SetLength(B[1], 2);
    SetLength(B[2], 3);
end;

​ 函数Low()和High()值得信赖,不过我们需要注意的是,他们返回的类型是我们数组的序号的那个类型,并不都是Integer,如前面例子中的THuangJacky

var
    A : Array of array of string;
    I, J : Integer;
begin
    SetLength(A, 10);
    for I := Low(A) to High(A) do
    begin
        SetLength(A[I], I);
        for J := Low(A[I]) to High(A[I]) do
            A[I, J] := IntToStr(I) + ',' + IntToStr(J) + ' ';
        end
    end;
end.

标签:end,..,数组,Integer,Array,SetLength
From: https://www.cnblogs.com/DQ-MINE/p/17123302.html

相关文章

  • 【算法题--异或操作】找出数组中唯一没有重复的那个元素
    在我的博客上有一篇博文是提到C#里面的异或操作https://www.cnblogs.com/wphl-27/p/17104240.html有一个算法题是需要用到C#中的异或操作的,这道算法题就是获取一个数组中......
  • go 二维数组
    1.定义方式有两种1)先声明/定义,再赋值var数组名[大小][大小]类型funcmain(){//二维数组示例演示/*00000000100002......
  • php中foreach循环遍历二维数组
    最近在用tp3.2框架,在查询的时候用到了select(),这条语句返回的是二维数组,所以在对返回的数据做处理时,遇到了些麻烦,百度了下foreach,终于用foreach解决了数据的筛选问题(因为......
  • leetcode - 1250 检查好数组
    检查好数组题目给你一个正整数数组nums,你需要从中任选一些子集,然后将子集中每一个数乘以一个任意整数,并求出他们的和。假如该和结果为1,那么原数组就是一个「好数组」......
  • java 文件File与byte[]数组相互转换的两种方式
     1.文件转byte[]方式一:文件输入流Filefile=newFile("C:\\Users\\Marydon\\Desktop\\个人信用报告.pdf");try{FileInputStreamfis=newFileInputStream(file);......
  • 一维数组的冒泡排序
    1#include<stdio.h>2intmain(intargc,constchar*argv[])3{4inti,j,t,count;5inta[]={1,85,45,12,14,12,14,78,45,69};6intn=siz......
  • NumPy数组如何保存到文件中以进行机器学习?
    对于资深编程人员来说,在机器学习模型中常婵需要使用到NumPy数组,NumPy数组主要是处理Python中数据有效的数据结构,机器学习模型(scikit-learn)和深度学习模型(Keras)都希望使用Nu......
  • 数组flat方法实现
    /***实现数组flat方法*可通过递归方式进行将数组拍平,实现flat,默认depth为1*/functionflat(array,depth=1){constresult=[];for(consti......
  • 删除数组中重复出现的元素
    Leetcode链接:26.删除有序数组中的重复项-力扣(LeetCode)难易程度:简单1publicintremoveDuplicates(int[]nums){2if(nums==null||nums.length<=1)......
  • 先找数组的下标 再输出数组
    packagecom.fqs.demo;importjava.util.Random;publicclassOnlyYou{publicstaticvoidmain(String[]args){//输出不重复随机数//1.定......