Skip to content

Latest commit

 

History

History
103 lines (63 loc) · 1.43 KB

数据结构(2)数组.md

File metadata and controls

103 lines (63 loc) · 1.43 KB

定义

数组在内存中的分配是连续的,元素存储也是连续的。通过数组下标进行访问

**优点:**有索引存储,所以访问速度快

缺点:

  • 数组大小固定,无法扩容

  • 数组只能存储一种数据类型

  • 数组新增、删除会对整个数组进行复制操作,所以速度慢

代码示例

// 声明并创建一个数组:
int[] a = new int[N]
// 初始化一个输出
a[i] = 1// 简写:
int[] a = {1,2,3,4,5,6}

int[] b = a ; // 这只是引用地址的复制
b[2] = 100;  // a[2] 的值也会变成 100

常见处理

找出数组中最大值

int[] a = {1,2,3,4,5,6};
int max = a[0];
for (int i : a){
    if (i > max){
        max = i;
    }
}
System.out.println(max);

计算数组元素平均值

int[] a = {1,2,3,4,5,6};
int sum = 0 ;
for (int i : a){
    sum += i;
}
System.out.println(sum);

复制数组

int[] a = { 1, 2, 3, 4, 5, 6 };

int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
    b[i] = a[i];
}

// 或者
System.arraycopy(a, 0, b, 0, a.length);

颠倒数组

int[] a = { 1, 2, 3, 4, 5, 6 };

int n = a.length;
for (int i = 0; i < n/2; i++) {
    int temp = a[i];
    a[i] = a[n-1-i];
    a[n-1-i] = temp;
}
System.out.println(Arrays.toString(a));

矩阵

对称矩阵、三角矩阵

-------------------(正在建设中,敬请期待!!!!)