前言
通过稀疏数组减少数组所占的内存
一、稀疏数组是什么?
稀疏数组用于将重复数组中重复数据进行精简化,第一行放入行和列的数量和有效数据的个数,其余行的第一列放入有效数据的行号,第二列放入有效数据的列号,第三列放入有效数据的值
二、步骤
1.获得行和列的数量和有效数据的个数并放入稀疏数组
代码如下(示例):
int chessArr1[][] = new int[11][11];
chessArr1[1][2] = 1;
chessArr1[2][3] = 1;
System.out.println("原始二维数组");
for (int[] row:
chessArr1) {
for (int data: row) {
System.out.print(data+"\t");
}
System.out.println();
}
int sum = 0;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if(chessArr1[i][j]!=0){
sum++;
}
}
}
int sparseArr[][] = new int[sum+1][3];
sparseArr[0][0] = 11;
sparseArr[0][1] = 11;
sparseArr[0][2] = sum;
2.循环从第二行到最后一行
代码如下(示例):
int count = 1;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if(chessArr1[i][j]!=0){
sparseArr[count][0] = i;
sparseArr[count][1] = j;
sparseArr[count++][2] = chessArr1[i][j];
}
}
}
3.输出稀疏数组
注:第一个原始二维数组,第二个稀疏数组
总结
以上就是今天要讲的内容,本文仅仅简单介绍了稀疏数组