您的位置:首页 > 理论基础 > 数据结构算法

Java数据结构-稀疏数组

2015-06-10 00:22 281 查看
稀疏数组就是数组中,大部分的元素值

都未被使用(或都为0),在数组中仅有少

部分的空间使用。因此造成内存空间的浪

费,为了解决这问题,并且不影响数组中原

有的元素值,我们采用了一种压缩的方式来

表示稀疏数组的内容。

public class array06 {

public static void main(String[] args) {

int[][] Data={{0,0,0,0,0,0,0},

{0,3,0,0,0,0,0},

{0,0,0,0,0,0,0},

{1,4,0,0,0,0,0},

{0,0,7,0,0,0,0},

{0,0,0,0,0,5,0},

{0,0,0,0,0,0,0},

{0,0,0,0,0,0,0},

{0,0,0,0,0,0,0}

};

int CompressData[][]=new int[10][3];

int Index;

int i,j;

Index=0;

System.out.println("Two dimensional sparse array:");

for(i=0;i<9;i++){

for(j=0;j<7;j++)

System.out.print(" "+Data[i][j]+" ");

System.out.println("");

}

for(i=0;i<9;i++)

for(j=0;j<7;j++)

if(Data[i][j]!=0){

Index++;

CompressData[Index][0]=i;

CompressData[Index][1]=j;

CompressData[Index][2]=Data[i][j];

}

CompressData[0][0]=9; //表示这个数组有9行 7列 index个元素

CompressData[0][1]=7;

CompressData[0][2]=Index;

System.out.println("Two dimensional compress array:");

for(i=0;i<=Index;i++){

for(j=0;j<3;j++)

System.out.print(" "+CompressData[i][j]+" ");

System.out.println("");

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: