⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 array-07.java

📁 java数据结构,简单,易懂,有利于初学者
💻 JAVA
字号:
//=====================程序描述==================
//程序名称:array-07.java
//程序目的:演示一个二维稀疏数组的处理过程
//作者:张中强
//=====================程序描述==================
import java.util.*;
class array07
{
	public static void main(String args[])
	{
		int[][] numbers=new int[5][5];
		for(int i=0;i<5;i++)
		{
			for(int j=0;j<5;j++)
			{
				if(i==j)
				{
					numbers[i][j]=i*j;
				}
				else
				{
					numbers[i][j]=0;
				}
			}
		}
		//原样输出数组
		System.out.println("原数组:");
		for(int i=0;i<5;i++)
		{
			for(int j=0;j<5;j++)
			{
				System.out.print(numbers[i][j]+"\t");
			}
			System.out.println();
		}
		//计算一个有多少个非零值		
		int sum=0;
		for(int i=0;i<5;i++)		
		{
			for(int j=0;j<5;j++)
			{
				if(numbers[i][j]!=0)
					sum++;
			}
		}
		
		//将该稀疏数组放在一个动态数组中
		ArrayList al=new ArrayList();
		//第一行,存放数组有多少行,多少列,有多少个非0值
		number info=new number();
		info.row=5;
		info.col=5;
		info.value=sum;
		al.add(info);
		//遍历数组,将非零值保存下来
		for(int i=0;i<5;i++)
		{
			for(int j=0;j<5;j++)
			{
				if(numbers[i][j]!=0)
				{
					number n=new number();
					n.row=i;
					n.col=j;
					n.value=numbers[i][j];
					al.add(n);
				}
			}
		}
		//打印稀疏数组的值
		System.out.println();
		System.out.println("稀疏数组");
		for(int i=0;i<al.size();i++)
		{
			number n=(number)al.get(i);
			System.out.println(n.row+"\t"+n.col+"\t"+n.value);
		}
	}
}
//定义一个类来存放每一个数的信息
class number
{
	int row;
	int col;
	int value;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -