synmematrix.java

来自「数据结构(java描述)课件(第二讲:线性结构)」· Java 代码 · 共 41 行

JAVA
41
字号
public class SynmeMatrix {
	double a[];
	int n;
	int m;
	
	SynmeMatrix(int n){
		m = n * (n + 1) / 2;
		a = new double[m];
		this.n = n;
	}
	
	public void evaluateMatrix(double[][] b){
                //通过一个下三角二维矩阵向矩阵赋值
		int k = 0;
		int i, j;
		for(i = 0; i < n; i ++)
			for(j = 0; j < n; j ++)
				if(i >= j) a[k++] = b[i][j];
                                //只保存下三角元素
	}
	
	public void evaluateMatrix(double[] b){
                //通过一维数组向n阶对称矩阵赋值
		for(int k = 0; k < m; k ++)
			a[k] = b[k];
	}
	
	public void print(){
		int i, j, k;
		for(i = 1; i <= n; i ++){
			for(j =1; j <= n; j++){
				if(i >= j)
					k = i * (i - 1) / 2 + j - 1;
				else
					k = j * (j - 1) / 2 + i - 1;
				System.out.print("     " + a[k]);
			}
			System.out.println();
		}
	}
}

⌨️ 快捷键说明

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