一元稀疏多項式計算器(加減)

2021-08-30 17:55:00 字數 1223 閱讀 3875

思路:1.首先是建立鍊錶,再儲存資料。

2.進行多項式的運算。通過每一項的比較,判斷指數是否相等,相等就進行合併,不相等就不操作並找到下一項。

這道題主要是考察了鍊錶的操作,估計很多人都會被繞暈了,不知道指標指向了**。

我已開始也敗在了指向問題上,在加法操作中,把pa,pb鍊錶記憶體的資料元素全都改變了,又不知道**出問題了,後來就直接用臨時變數將要操作的鍊錶元素複製乙份,這樣就不會改變原有的資料。

//#include "stdafx.h"

#include "malloc.h"

typedef struct polymentpolynode,*polylist;

void printpolyn(polylist l);

void initpolyn(polylist *l)

void creatpolyn(polylist l) }

void addpolyn(polylist la,polylist lb)//加法

else

else

}else

}} pc->next=pa?pa:pb;//將剩下的插入pc中

printf("\np(x) + q(x) = ");

printpolyn(lc); }

void inverpolyn(polylist l1)//逆置操作

l1->next=null;

l1=pa;

p=l1;

printf("m(x) = ");

while(p->next)

} printf("\n");

}void minuspolyn(polylist la,polylist lb)//減法

else

else

}else

} }if(pa)

pc->next=pa;

else

while(pb)

printf("\np(x) - q(x) = ");

printpolyn(lc);

inverpolyn(lc);

}void printpolyn(polylist l)//列印鍊錶

}printf("\n");

}int main(int argc, char* argv)

實驗測試資料:

一元稀疏多項式計算器

實驗 一元稀疏多項式計算器 一 實驗目的 1.了解線性表的鏈式儲存結構,熟練掌握鍊錶。2.了解作為鍊錶的多項式存貯方式。3.熟悉掌握多項式加法的演算法。二 實驗原理 順序儲存的線性表有一些弱點,其一,插入與刪除元素需要大量移動元素 其二,預先分配儲存空間時必須按最大的空間來分配。其三,表長難以擴充。...

一元稀疏多項式加減

一元稀疏多項式加減 include include include define ok 1 define error 0 typedef int status typedef struct pnodepnode,polynomial 建立乙個多項式鍊錶 status creatpolynnomial...

一元稀疏多項式相加減

define crt secure no warnings include include include typedef struct polyomial poly,polyomial poly為結點指標型別 void insert poly p,poly h if q2 p exp q2 exp...