關於使用串列結構 |
尚未結案
|
s569898
一般會員 發表:1 回覆:0 積分:0 註冊:2004-11-13 發送簡訊給我 |
請問一下,使用串列結構表示下面的多項式 1. f(X)=X*4+2X*3+X+1 如何用串列結構來表示呢?這樣對嗎?我覺得好難,請高手寫出,讓我參考吧,拜託! #include
|
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
s569898您好..
我寫演算法給您..您在試看看
>
< class="code">
NODE= [ COF | EXP | LINK ]
其中..cof代表該項的係數..exp代表x的次方項..link代表下一項..
所以X^4 2X^3 X 1..
1...您的程式一開始要由左至右掃描字串...當掃到x時就要建立一個新node
2...尋找x前面一個..是不是數字..如果是..在cof填入..如果沒有..就填入1
例: 2X...COF為2
3...尋找x後面一個..是不是*如果是的話..把*後面的數字填到exp..否則填入1
例: 3X*2...COF為3..exp為2
4...當掃到下一項的時候..會建立一個新node..這時就請您將前一項的link欄..
填入下一個node的位址
5...最後一項應該是常數項..所以當掃到完時..最後一個若是數字..還要新增
一個node..cof為該數字..exp為0...link為null(後面沒有了)
依以上的演算法..f(X)=X*4 2X*3 X 1應該是表示成.. [ 1 | 4 ]-->[ 2 | 3 ]-->[ 1 | 1 ]-->[ 1 | 0 ]-->NULL 其中的箭頭就是代表連到下一項的link欄..所以您的struct要改成
struct llist
{
int cof; //係數
int exp; //次方
struct llist *next; //link
};
最難的部分應該就是這裡囉..程式就請您自行撰寫..
如果有問題(剩下的應該都是看書就能解決)..再發問
> =程式是一種藝術 也是訓練自己的分析規劃=
=是段落分明 或是雜亂無章=
=是一言以敝 或是廢話連篇=
=是一目了然 或是艱深難懂=
體會這份藝術 您會了解另一份喜悅與成就
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |