資料結構實驗5陣列

2021-03-03 23:54:00 字數 1597 閱讀 2333

一、實驗目的

深入研究陣列的儲存表示和實現技術,著重掌握對稀疏矩陣的表示方法及其運算的實現。

二、問題描述

稀疏矩陣是指那些多數元素為零的矩陣。利用『稀疏』特點進行儲存和計算可以大大節省儲存空間,提高效率。通過對稀疏矩陣的儲存表示,實現矩陣的基本操作。

3、演算法分析

矩陣可以通過二維陣列來實現儲存,而對於矩陣的加減法可以通過對陣列元素進行對應相加減來實現,而矩陣的乘法乘積矩陣中元素

q(i,j)=

公式來進行計算。

四、實驗內容和過程

1.實驗**

#include

using namespace std;

int main()

,n[20][20]={},s[20][20]={},x[20][20]={},v[20][20]={};

meu:

cout< cout<<"請選擇要計算的選項"< cout<<"1.矩陣的轉置"< cin>>sel;

switch(sel)

lab1:

cout<<"請輸入矩陣的行列和非0元素個數"< cin>>i>>j>>k;

cout<<"請輸入非零元素的位置和值"< for(p=1;p<=k;p矩陣輸入

cin>>a>>b>>z;

m[a][b]=z;}

cout<<"輸入矩陣為"< h=0;

for(a=0;a for(b=0;b

cout<<"輸入的第乙個矩陣為"< h=0;

for(a=0;a for(b=0;b

cout<<"輸入的第二個矩陣為"< h=0;

for(a=0;a for(b=0;b

cout<<"相加之後矩陣為"< h=0;

for(a=0;a for(b=0;b

cout<<"輸入的第乙個矩陣為"< h=0;

for(a=0;a for(b=0;b

cout<<"輸入的第二個矩陣為"< h=0;

for(a=0;a for(b=0;b

cout<<"相減之後矩陣為"< h=0;

for(a=0;a for(b=0;b

cout<<"輸入的第乙個矩陣為"< h=0;

for(a=0;a for(b=0;b

cout<<"輸入的第二個矩陣為"< h=0;

for(a=0;a for(b=0;b

cout<<"矩陣相乘之後為"< for(a=0;a for(b=0;b

h=0;

for(a=0;a for(b=0;b

輸入資料:

實驗結果分別截圖

五、總結和感想

本章主要為陣列和廣義表,而用二維陣列的方式又能夠實現對矩陣的表示,主要對陣列的定義,陣列的順序表示和實現,而在陣列之後又對矩陣的表示方法進行了深入的探索和擴充套件,其中特殊矩陣的稀疏矩陣的方法很重要,在實驗當中運用書中的矩陣表示方法來用二維陣列來實現,而稀疏矩陣的應用又能簡化對於矩陣的儲存和表達方式,對於矩陣進行了擴充套件和深化。

《資料結構》第5章陣列和廣義表

第 5 章陣列和廣義表 一 選擇題 1.設有乙個10階的對稱矩陣a,採用壓縮儲存方式,以行序為主儲存,a11為第一元素,其儲存位址為1,每個元素佔乙個位址空間,則a85的位址為 燕山大學 2001 一 2 2分 a.13b.33c.18d.40 2.有乙個二維陣列a 1 6,0 7 每個陣列元素用相...

資料結構實驗5 串子系統

驗證性實驗5 串子系統 班級學號 012301114114 姓名胡德文1 實驗目的 1 掌握串的特點及順序定長儲存的方式。2 掌握串的建立 連線 插入 刪除 顯示等操作。3 掌握串的查詢 取子字串 比較串大小的操作 4 掌握模式匹配的基本思想及其演算法。2 實驗內容 1 由使用者通過鍵盤輸入建立乙個...

資料結構實驗

資訊23 2120502060 古碧野一 實驗題目 建立乙個線性表,實現線性表的建立,插入,刪除和遍歷 二.實驗目的和要求 實驗目的 熟練掌握線性表的基本操作在順序儲存結構上的實現。實驗要求 用c語言編寫源程式,並除錯通過,測試正確。三.主要儀器裝置 windows xp操作平台,visual c ...