/*
*all right reserved.
*date:2023年10月26日
*版本:v1.0.1
*作業系統:xp
*執行環境:vc6.0
*問題描述: 對稱矩陣壓縮儲存的實現
*/
用壓縮形式儲存對稱矩陣,實現下面的操作並測試
void init(int *&b);//為n階對稱矩陣初始化儲存資料的一維陣列b
int value(int b, int i, int j);//返回儲存在b[m]中,對應二維陣列a[i][j]的值
void assign(int b, int e, int i, int j);//將e賦值給對應二維陣列元素a[i][j],要儲存到b[m]中
void disp(int b);//輸出壓縮儲存在b中的對稱矩陣
void destroy(int b); //銷毀儲存空間
**如下:
#include #include #define n 4
//為n階對稱矩陣初始化儲存資料的一維陣列b
void init(int *&b)
//返回儲存在b[m]中,對應二維陣列a[i][j]的值
int value(int b, int i, int j)
//將e賦值給對應二維陣列元素a[i][j],要儲存到b[m]中
void assign(int b, int e, int i, int j)
//輸出壓縮儲存在b中的對稱矩陣
void disp(int b)
{ int i,j;
for (i=0; i執行結果:
知識總結:
由於對稱矩陣中的元素關於主對角線對稱,在儲存時可以只儲存對稱矩陣中的上三角或者下三角中的元素,使得對稱的元素共享乙個空間。就可以將n²個元素儲存到n*(n-1)/2個元素的空間中!
第九周 對稱矩陣壓縮儲存的實現與應用
問題描述 對稱矩陣壓縮儲存的實現與應用。輸入 第n行的第n個數值。輸出 對陣矩陣。原始檔 include head.h void init int b int value int b,int i,int j void assign int b,int e,int i,int j void disp ...
第九周 對稱矩陣壓縮儲存的實現和應用
問題描述 設計演算法,實現兩個用壓縮形式 matrix.h include include define n 4 定義矩陣階數為4 void init int b 為n階對稱矩陣初始化儲存資料的一維陣列b int value int b,int i,int j 返回儲存在b m 中,對應二維陣列a ...
第九周專案2 對稱矩陣壓縮儲存的實現與應用(1)
all right reserved.檔名稱 test.cpp 完成日期 2015年10月30日 版本號 v1.0 問題描述 用壓縮形式儲存對稱矩陣,實現下面的操作並測試 void init int b 為n階對稱矩陣初始化儲存資料的一維陣列b int value int b,int i,int j...