編寫兩個稀疏矩陣相加(a=a+b)的演算法,要求稀疏矩陣用十字鍊錶表示。
#include <>
#include <>
#define max 100
struct matnode //十字鍊錶結點的定義
tag;
};struct matnode *createmat(struct matnode *hmone[max])
//最後乙個行、列表頭結點指向十字煉表頭節點
h[s]->
for(i=1;i<=t;i++) //t為非零元素個數
return(h[0]);
}void prmat(struct matnode *hm)
p=p->}}
struct matnode *colpred(int i,int j, struct matnode *h)
//根據i(行號)和j(列號)找出矩陣第i行第j列的非零元素在十字鍊錶中的前驅結點
//求矩陣相加的演算法
struct matnode *addmat(struct matnode *ha,struct matnode *hb,struct matnode *h)
else
else
if(pa->col>pb->col||pa->col==0)
else
else qa=pa;
pa=pa->right;
pb=cb->right;
}ca=ca->
cb=cb->
}while(ca->row==0);
}return (h[0]);
}void main(void)
資料結構學習C之稀疏矩陣
先說說什麼叫稀疏矩陣。你說,這個問題很簡單嗎,那你一定不知道中國學術界的嘴皮子仗,對乙個字眼的 摳 將會導致兩種相反的結論。這是清華2000年的一道考研題 表示乙個有1000個頂點,1000條邊的有向圖的鄰接矩陣有多少個矩陣元素?是否稀疏矩陣?如果你是個喜歡研究出題者心理活動的人,你可以看出這裡有兩...
C 程式的結構
實驗五c 程式的結構 2學時 一 實驗目的 1觀察程式執行中變數的作用域 生存期和,lj 性。2 學習類的靜態成員的使用。3 學習多檔案結構在c 程式中的使用。二 實驗任務 1 執行下面的程式,觀察變數x y的值。include void fnl int x 1,y 2 int x 1,y 2 in...
C程式的執行環境和執行C程式的方法
實驗1 c程式的執行環境和執行c程式的方法實驗內容 1 輸入並執行乙個簡單 正確的程式。要求程式名為 include int main 仔細觀察螢幕上的已輸入程式,檢查有無錯誤。然後編譯,連線,執行。2 輸入並編輯乙個有錯誤的c程式。要求程式名為 輸入教材第一章例1.2,故意漏打或打錯幾個字元。進行...