全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1594
推到 Plurk!
推到 Facebook!

關於使用串列結構

尚未結案
s569898
一般會員


發表:1
回覆:0
積分:0
註冊:2004-11-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-13 07:20:25 IP:61.63.xxx.xxx 未訂閱
請問一下,使用串列結構表示下面的多項式    1.   f(X)=X*4+2X*3+X+1    如何用串列結構來表示呢?這樣對嗎?我覺得好難,請高手寫出,讓我參考吧,拜託!    #include  struct llist { int num; struct llist *next; }; typedef struct llist node; typedef node *llink; void printllist(llink ptr) { while ( ptr != NULL ) { printf("[%d]",ptr->num); ptr = ptr->next; } printf("\n"); } 接下來不會了.....
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-13 16:07:19 IP:192.192.xxx.xxx 未訂閱
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 }; 最難的部分應該就是這裡囉..程式就請您自行撰寫.. 如果有問題(剩下的應該都是看書就能解決)..再發問 > =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就
系統時間:2024-05-02 15:15:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!