稀疏矩陣加法 資料結構實驗題(稀疏矩陣加法)

2021-10-12 16:56:10 字數 1295 閱讀 6973

題目描述:

思路:   先使用乙個結構體對稀疏矩陣進行壓縮儲存

typedef struct array;
之後用歸併的思想,將a矩陣與b矩陣相加的結果存放在c矩陣中
if (a[i].row //若a行號小於b行號,則將a放入c                else if (a[i].row > b[j].row)//若a行號大於b行號,則存b                else  //若都不是,則代表a行號等於b行號                    //否則按照列號從小到大存進c            else if (a[i].col                 c[k++] = a[i++];            else                c[k++] = b[j++];        }
若a,b矩陣還有剩餘元素,全部放入c即可
while (i < lena)        while (j < lenb)
完整**如下:
#include #include using namespace std;typedef struct array;int main()    cin >> n2;    while (n2--)        int lena = i;    int lenb = j;    i = 0;    j = 0;    int k = 0;    while (i < lena && j < lenb)            else if (a[i].row > b[j].row)                else                    else if (a[i].col < b[j].col)                c[k++] = a[i++];            else                c[k++] = b[j++];        }    }    while (i < lena)        while (j < lenb)        int lenc = k;    int cnt = 0;    for (k = 0; k < lenc; k++)        cout << cnt << endl;    for (k = 0; k < lenc; k++)        }    return 0;}

資料結構 稀疏矩陣

稀疏矩陣 矩陣中有效資料的個數遠遠小於無效資料的個數,則可以稱之為稀疏矩陣 如果還像以前那樣將每個稀疏矩陣的資料都儲存起來,則會造成記憶體的很大程度的浪費,所以應用特別的儲存方式。稀疏矩陣的壓縮儲存 使用 三元組儲存每乙個有效資料,三元組按原矩陣中的位置,以行優先順序先後順序依次存放。矩陣的轉置 將...

資料結構 稀疏矩陣

簡單的說,設矩陣amn中有s個非零元素,若s遠遠小於矩陣元素的總數,則稱a為稀疏矩陣。s與m x n的比稱為矩陣的稀疏因子。當用陣列儲存稀疏矩陣中的元素時,僅有少部分的空間被利用,造成空間的浪費,為了節省儲存空間,可以採用一種壓縮的儲存方法來表示稀疏矩陣。由於非零元素的分布一般是沒有規律的,因此在儲...

資料結構 稀疏矩陣

稀疏矩陣時矩陣中的一種特殊情況,其非零元素的個數遠遠小於零元素個數。1.順序儲存 非零元素三元組的結構定義 struct triple 其中row代表行號,col代表列號,val用來儲存元素值 稀疏矩陣的順序儲存型別定義 struct smatrix m,n,t域分別用來儲存稀疏矩陣的行數,列數,非...