【数据结构与算法】矩阵

矩阵是工程设计中经常使用的数学工具。 

矩阵用两维数组处理最为方便。 

二维数组存储结构

package cn.matrix;
/**
 * 
 *矩阵类
 */
public class Matrix{
	//成员变量,矩阵元素
	private MyVector values;			
	//成员变量,矩阵行数
	private int h;						
	//成员变量,矩阵列数
	private int w; 						
	//构造函数,h为行数,w为列数
	public Matrix(int h,int w){			
		if(!(h > 0 && w > 0))
			throw new ArrayIndexOutOfBoundsException("h or w  < " + 1);
		//创建有h行的对象
		values = new MyVector(h);				
		for(int i = 0; i < h; i++){
			//创建有w列的对象
			MyVector row = new MyVector(w); 	
			//让行元素引用等于row
			values.add(row);					
			for(int j = 0; j < w; j++){
				row.add(null);//初始化矩阵元素为null					
			}
		}
		this.h = h;
		this.w = w;
	}
	//置元素
	public void set(int row,int col,Object value){		
		if(!(row >= 0 && w >= 0 && row < h && col <w))
			throw new ArrayIndexOutOfBoundsException("h or w  < " + "-1");
		MyVector selrow = (MyVector)values.get(row);
		selrow.set(col,value); 
	}
	//取元素
	public Object get(int row,int col){					
		if(!(row >= 0 && w >= 0 && row < h && col <w))
			throw new ArrayIndexOutOfBoundsException("h or w  < " + "-1");
		MyVector selrow = (MyVector)values.get(row);
		return selrow.get(col); 
	}
	//矩阵列数
	public int width(){									
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值