稀疏数组(五指棋游戏)
Posted 库里在线
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了稀疏数组(五指棋游戏)相关的知识,希望对你有一定的参考价值。
稀疏数组(五指棋游戏)
package com.cafuc;
import javax.sound.midi.Soundbank;
public class Chess {
public static void main(String[] args) {
//创建一个二维数组 11*11 0:表示没有棋子 1:表示黑棋 2:白棋
int [][] a=new int[11][11];
a[1][2]=1;
a[2][3]=2;
//输出原始数组
System.out.println("输出原始数组:");
for (int[] x: a){
for (int y:x) {
System.out.print(y + "\\t");
}
System.out.println();
}
System.out.println("--------------------");
//转换为稀疏数组保存
//获取有效值的个数
int sum=0;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if (a[i][j]!=0){
sum++;
}
}
}
System.out.println("有效数字的值为:"+sum);
//创建一个稀疏数组的数组
int [][] array=new int [sum+1][3];
array[0][0]=11;
array[0][1]=11;
array[0][2]=sum;
//遍历二维数组,将非零的值,存放在稀疏数组中
int count=0;
for (int i = 0; i <a.length ; i++) {
for (int j = 0; j <a[i].length ; j++) {
if (a[i][j]!=0){
count++;
array[count][0]=i;
array[count][1]=j;
array[count][2]=a[i][j];
}
}
}
//输出稀疏数组
for (int i = 0; i < array.length; i++) {
System.out.println(array[i][0]+"\\t"
+array[i][1]+"\\t"
+array[i][2]+"\\t");
}
}
}
以上是关于稀疏数组(五指棋游戏)的主要内容,如果未能解决你的问题,请参考以下文章