版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 課 程 設 計 任 務 書</p><p><b> 課程設計課題:</b></p><p> 第一題: 在順序結構、動態(tài)鏈表結構下實現一元多項式的加法、減法、乘法運算。</p><p><b> 設有一元多項式和</b></p><p><b>
2、 請實現求:</b></p><p> 要求:1)首先判定多項式是否稀疏;</p><p> 2)分別采用順序和動態(tài)存儲結構實現;</p><p> 3)結果中無重復階項、無零系數項;</p><p> 4)要求輸出結果的升冪和降冪兩種排列情況。</p><p> 第二題:猴子吃桃問題:</
3、p><p> 有一群猴子摘了一堆桃子,它們每天都吃當前桃子的一半再多吃一個,到了第10天就剩下一個桃子,用多種方法實現求出原來這群猴子共摘了多少桃子。</p><p> 要求:1)采用數組數據結構實現上述求解;</p><p> 2)采用鏈式數據結構。</p><p> 一、課程設計工作日自 2012 年 2 月
4、 21 日至 2012 年 3 月 2 日</p><p> 二、同組學生: 無 。</p><p> 三、課程設計任務要求(包括課題來源、類型、目的和意義、基本要求、完成時間、主要參考資料等):</p><p>&
5、lt;b> 課題來源:教師提供</b></p><p><b> 課題類型:設計</b></p><p> 目的和意義:通過數據結構課程設計掌握在C語言中結構體的建立和使用,并能用合適的數據結構設計大型程序</p><p> 完成時間:2012年2月29日</p><p><b>
6、主要參考資料:</b></p><p> [1] 嚴蔚敏.數據結構(C語言版).清華大學出版社,2007</p><p> [2] 嚴蔚敏.數據結構題集(C語言版).清華大學出版社,2007</p><p> [3] 譚浩強.C語言程序設計.清華大學出版社,2005</p><p> [4] 與所用編程環(huán)境相配套的C語言或
7、C++相關的資料</p><p> 指導教師簽字: 教研室主任簽字: </p><p> 2012年2月29日</p><p><b> 一、設計分析</b></p><p> 順序結構、動態(tài)鏈表結構下的一元多項式的加法、減法、乘法的實現??梢苑譃閹讉€模塊:輸入模塊、輸出模塊(升冪
8、降冪)、數據處理模塊(多項式的加減乘)、主程序模塊。</p><p> 在程序過程中加入漢字提示符,讓讀者清楚明白的操作該程序。運行程序時看起來簡潔有序,操作簡單明了。</p><p> 程序執(zhí)行時的命令:①選擇創(chuàng)建兩個一元多項式②輸入第一個一元多項式的項數③依次輸入一元多項式的系數和指數④以相同方式輸入第二個一元多項式⑤選擇操作方式⑥選擇降冪或升冪排序⑦輸出結果⑧是否退出</p
9、><p> 4.測試數據。輸入的一元多項式系數指數分別為7 0,3 1,9 8,5 17和8 1,22 7,-9 8。加法結果為;升冪 降冪</p><p> 減法結果為:升冪 降冪</p><p> 乘法結果為:升冪 降冪</p>&l
10、t;p><b> 二、具體設計概要</b></p><p> 1、數據結構的設計 </p><p> 在該程序中分別分為順序存儲和鏈式存儲結構。</p><p><b> 2、算法的設計</b></p><p> 本程序主要分為四大模塊</p><p><
11、;b> ?、僦鞒绦蚰K</b></p><p> ?、谳斎肽K:通過Getpolyn函數輸入</p><p> ③輸出模塊(升冪降冪):PrintPolyn函數實現輸出</p><p> ?、軘祿幚砟K(多項式的加減乘):通過一元多項式的Polynomial基本操作實現</p><p> 3、抽象數據類型的設計<
12、/p><p> 一元多項式抽象數據類型的定義:</p><p> 抽象數據類型Polynomial的定義:</p><p> 三、詳細程序設計及運行結果:</p><p><b> 第一題</b></p><p><b> 程序及運行結果:</b></p>
13、<p> #include<iostream></p><p> using namespace std;</p><p> struct term</p><p><b> {</b></p><p> float xishu; //系數</p><p>
14、 int zhishu; //指數</p><p><b> };</b></p><p> struct LNode</p><p><b> { </b></p><p> term data; //term多項式值</p><p>
15、 struct LNode *next;</p><p><b> };</b></p><p> typedef LNode* polynomail;</p><p><b> /*合并同類項*/</b></p><p> polynomail hebing(polynomail Hea
16、d)</p><p><b> {</b></p><p> polynomail r,q,p,Q;</p><p> for(q=Head->next;q!=NULL;q=q->next)//合并同類項</p><p> for(p=q->next,r=q;p!=NULL;)</p>
17、;<p> if(q->data.zhishu==p->data.zhishu)</p><p><b> { </b></p><p> q->data.xishu=q->data.xishu+p->data.xishu;</p><p> r->next=p->next;<
18、;/p><p> Q=p;p=p->next;</p><p><b> delete Q;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b>
19、</p><p> r=r->next;</p><p> p=p->next;</p><p><b> }</b></p><p> return Head;</p><p><b> }</b></p><p> /*由小
20、到大排列*/</p><p> void arrange1(polynomail pa)</p><p><b> {</b></p><p> polynomail h=pa,p,q,r;</p><p> for(p=pa;p->next!=NULL;p=p->next);r=p;</p&g
21、t;<p> while(h->next!=r)//大的沉底</p><p><b> {</b></p><p> for(p=h;p->next!=r&&p!=r;p=p->next)</p><p> if(p->next->data.zhishu>p->ne
22、xt->next->data.zhishu)</p><p><b> {</b></p><p> q=p->next->next;</p><p> p->next->next=q->next;</p><p> q->next=p->next;</
23、p><p> p->next=q;</p><p><b> }</b></p><p> r=p;//r指向參與比較的最后一個,不斷向前移動</p><p><b> }</b></p><p><b> }</b></p>
24、<p> /*由大到小排序*/</p><p> void arrange2(polynomail pa)</p><p><b> { </b></p><p> polynomail h=pa,p,q,r;</p><p> for(p=pa;p->next!=NULL;p=p->ne
25、xt); r=p;</p><p> while(h->next!=r)//小的沉底</p><p><b> {</b></p><p> for(p=h;p->next!=r&&p!=r;p=p->next)</p><p> if(p->next->data.
26、zhishu<p->next->next->data.zhishu)</p><p><b> { </b></p><p> q=p->next->next;</p><p> p->next->next=q->next;</p><p> q->ne
27、xt=p->next;</p><p> p->next=q;</p><p><b> }</b></p><p> r=p;//r指向參與比較的最后一個,不斷向前移動</p><p><b> } </b></p><p><b> }&l
28、t;/b></p><p> bool judge(polynomail Head)</p><p><b> {</b></p><p> arrange2(Head);</p><p> polynomail p;</p><p> p=Head->next;</p
29、><p> bool xi=false;</p><p> while(p!=NULL&&p->next!=NULL&&!xi)</p><p><b> {</b></p><p> if(p->data.zhishu-p->next->data.zhishu
30、>1)</p><p><b> xi=true;</b></p><p> p=p->next;</p><p><b> }</b></p><p> return xi;</p><p><b> }</b></p>
31、;<p> /*打印多項式,求項數*/</p><p> void printpolyn(polynomail P)</p><p><b> {</b></p><p><b> int i;</b></p><p> polynomail q;</p>&l
32、t;p> if(P==NULL)</p><p> cout<<"無項\n";</p><p> else if(P->next==NULL)</p><p> cout<<"Y=0\n";</p><p><b> else</b>&
33、lt;/p><p><b> {</b></p><p> cout<<"該多項式為Y=";</p><p> q=P->next;</p><p><b> i=1;</b></p><p> if(q->data.xish
34、u!=0&&q->data.zhishu!=0)</p><p><b> {</b></p><p> cout<<q->data.xishu<<"X^"<<q->data.zhishu;</p><p><b> i++; </b
35、></p><p><b> }</b></p><p> if(q->data.zhishu==0&&q->data.xishu!=0)</p><p> cout<<q->data.xishu;//打印第一項</p><p> q=q->next;&l
36、t;/p><p> if(q==NULL)</p><p><b> {</b></p><p> cout<<"\n";</p><p><b> return ;</b></p><p><b> }</b>&l
37、t;/p><p> while(1)//while中,打印剩下項中系數非零的項, </p><p><b> {</b></p><p> if(q->data.xishu!=0&&q->data.zhishu!=0)</p><p><b> {</b>
38、</p><p> if(q->data.xishu>0) </p><p> cout<<"+";</p><p> cout<<q->data.xishu<<"X^"<<q->data.zhishu;</p><p>&l
39、t;b> i++;</b></p><p><b> }</b></p><p> if(q->data.zhishu==0&&q->data.xishu!=0)</p><p><b> { </b></p><p> if(q->da
40、ta.xishu>0) cout<<"+";</p><p> cout<<q->data.xishu;</p><p><b> }</b></p><p> q=q->next;</p><p> if(q==NULL)</p>&
41、lt;p><b> {</b></p><p> cout<<"\n";</p><p><b> break; </b></p><p><b> }</b></p><p><b> }</b></
42、p><p><b> }</b></p><p><b> }</b></p><p> /*1、創(chuàng)建并初始化多項式鏈表*/</p><p> polynomail creatpolyn(int m)</p><p><b> {</b></
43、p><p> polynomail Head,r,s;</p><p><b> int i;</b></p><p> Head=new LNode;</p><p><b> r=Head;</b></p><p> for(i=0;i<m;i++)</
44、p><p><b> { </b></p><p> s=new LNode;</p><p> cout<<"請輸入第"<<i+1<<"項的系數和指數:";</p><p> cin>>s->data.xishu>&
45、gt;s->data.zhishu;</p><p> r->next=s; r=s;</p><p><b> }</b></p><p> r->next=NULL;</p><p><b> if(m>1)</b></p><p><
46、;b> {</b></p><p> Head=hebing(Head);</p><p><b> }</b></p><p> return Head;</p><p><b> }</b></p><p> /*2、兩多項式相加*/<
47、/p><p> polynomail addpolyn(polynomail pa,polynomail pb)</p><p><b> {</b></p><p> polynomail s,newHead,q,p,r;int j;</p><p> p=pa->next;</p><p
48、> q=pb->next;</p><p> newHead=new LNode;</p><p> r=newHead;</p><p><b> while(p)</b></p><p><b> { </b></p><p> s=new LNo
49、de;</p><p> s->data.xishu=p->data.xishu;</p><p> s->data.zhishu=p->data.zhishu;</p><p> r->next=s; r=s;</p><p> p=p->next;</p><p>&l
50、t;b> }</b></p><p><b> while(q)</b></p><p><b> { </b></p><p> s=new LNode;</p><p> s->data.xishu=q->data.xishu;</p>&l
51、t;p> s->data.zhishu=q->data.zhishu;</p><p> r->next=s; r=s;</p><p> q=q->next;</p><p><b> }</b></p><p> r->next=NULL;</p>&l
52、t;p> if(newHead->next!=NULL&&newHead->next->next!=NULL)//合并同類項</p><p> newHead=hebing(newHead);</p><p> cout<<"升序 1 , 降序 2\n";</p><p> cout&
53、lt;<"選擇:";</p><p><b> cin>>j;</b></p><p> if(j==1) </p><p> arrange1(newHead);</p><p><b> else </b></p><p&g
54、t; arrange2(newHead);</p><p> return newHead;</p><p><b> }</b></p><p> /*3、兩多項式相減*/</p><p> polynomail subpolyn(polynomail pa,polynomail pb)</p>
55、<p><b> {</b></p><p> polynomail s,newHead,q,p,r; int j;</p><p> p=pa->next;q=pb->next;</p><p> newHead=new LNode;</p><p> r=newHead;</p
56、><p><b> while(p)</b></p><p><b> {</b></p><p> s=new LNode;</p><p> s->data.xishu=p->data.xishu;</p><p> s->data.zhishu=
57、p->data.zhishu;</p><p> r->next=s; r=s;</p><p> p=p->next;</p><p><b> }</b></p><p><b> while(q)</b></p><p><b>
58、 {</b></p><p> s=new LNode;</p><p> s->data.xishu=-q->data.xishu;</p><p> s->data.zhishu=q->data.zhishu;</p><p> r->next=s; r=s;</p>&l
59、t;p> q=q->next;</p><p><b> }</b></p><p> r->next=NULL;</p><p> if(newHead->next!=NULL&&newHead->next->next!=NULL)//合并同類項</p><p&g
60、t; newHead=hebing(newHead);</p><p> cout<<"升序 1 , 降序 2\n";</p><p> cout<<"選擇:";</p><p><b> cin>>j;</b></p><p><
61、;b> if(j==1) </b></p><p> arrange1(newHead);</p><p><b> else</b></p><p> arrange2(newHead);</p><p> return newHead;</p><p><b&
62、gt; }</b></p><p> /*4兩多項式相乘*/</p><p> polynomail mulpolyn(polynomail pa,polynomail pb)</p><p><b> { </b></p><p> polynomail s,newHead,q,p,r;</
63、p><p><b> int j;</b></p><p> newHead=new LNode;</p><p> r=newHead;</p><p> for(p=pa->next;p!=NULL;p=p->next)</p><p> for(q=pb->next;
64、q!=NULL;q=q->next)</p><p><b> {</b></p><p> s=new LNode;</p><p> s->data.xishu=p->data.xishu*q->data.xishu;</p><p> s->data.zhishu=p->
65、data.zhishu+q->data.zhishu;</p><p> r->next=s;</p><p><b> r=s;</b></p><p><b> }</b></p><p> r->next=NULL;</p><p> cou
66、t<<"升序 1 , 降序 2\n";</p><p> cout<<"選擇:";</p><p><b> cin>>j;</b></p><p> if(j==1) arrange1(newHead);</p><p> else
67、 arrange2(newHead);</p><p> if(newHead->next!=NULL&&newHead->next->next!=NULL)//合并同類項</p><p> newHead=hebing(newHead);</p><p> return newHead;</p>&l
68、t;p><b> }</b></p><p> /*5、銷毀已建立的兩個多項式*/</p><p> void delpolyn(polynomail pa,polynomail pb)</p><p><b> {</b></p><p> polynomail p,q;</
69、p><p><b> p=pa;</b></p><p> while(p!=NULL)</p><p><b> { </b></p><p><b> q=p;</b></p><p> p=p->next;</p><
70、;p><b> free(q);</b></p><p><b> }</b></p><p><b> p=pb;</b></p><p> while(p!=NULL)</p><p><b> { </b></p>&l
71、t;p><b> q=p;</b></p><p> p=p->next;</p><p><b> free(q);</b></p><p><b> }</b></p><p> cout<<"兩個多項式已經銷毀\n";
72、</p><p><b> }</b></p><p> void main()</p><p><b> { </b></p><p> polynomail pa=NULL,pb=NULL;</p><p> polynomail addp=NULL,subp=
73、NULL,mulp=NULL;</p><p><b> int n,m;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> cout<<"1、創(chuàng)建兩個一元多項式\n";&
74、lt;/p><p> cout<<"2、兩多項式相加得一新多項式\n";</p><p> cout<<"3、兩多項式相減得一新多項式\n";</p><p> cout<<"4、兩多項式相乘得一新多項式\n";</p><p> cout&l
75、t;<"5、銷毀已建立的兩個多項式\n";</p><p> cout<<"6、退出\n";</p><p> cout<<"請選擇:";</p><p><b> cin>>n;</b></p><p><
76、b> switch(n)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p> if(pa!=NULL)</p><p><b> { </b></p><p>
77、cout<<"已建立兩個一元多項式,請選擇其他操作!";</p><p><b> break;</b></p><p><b> }</b></p><p> cout<<"請輸入第一個多項式:\n";</p><p> co
78、ut<<"要輸入幾項:";</p><p><b> cin>>m;</b></p><p> while(m==0)</p><p><b> { </b></p><p> cout<<"m不能為0,請重新輸入m:&quo
79、t;;</p><p><b> cin>>m;</b></p><p><b> }</b></p><p> pa=creatpolyn(m);</p><p> printpolyn(pa);</p><p> if(judge(pa))</
80、p><p> cout<<"該多項式稀疏\n";</p><p><b> else</b></p><p> cout<<"該多項式稠密\n";</p><p> cout<<"請輸入第二個多項式:\n";</p&
81、gt;<p> cout<<"要輸入幾項:";</p><p><b> cin>>m;</b></p><p> pb=creatpolyn(m);</p><p> printpolyn(pb);</p><p> if(judge(pb))<
82、/p><p> cout<<"該多項式稀疏\n";</p><p><b> else</b></p><p> cout<<"該多項式稠密\n";</p><p><b> break;</b></p><p&
83、gt;<b> case 2:</b></p><p> if(pa==NULL)</p><p><b> { </b></p><p> cout<<"請先創(chuàng)建兩個一元多項式!\n";</p><p><b> break;</b>
84、</p><p><b> }</b></p><p> addp=addpolyn(pa,pb);</p><p> printpolyn(addp);</p><p><b> break;</b></p><p><b> case 3:</b
85、></p><p> if(pa==NULL)</p><p><b> {</b></p><p> cout<<"請先創(chuàng)建兩個一元多項式!\n";</p><p><b> break;</b></p><p><b&g
86、t; }</b></p><p> subp=subpolyn(pa,pb);</p><p> printpolyn(subp);</p><p><b> break;</b></p><p><b> case 4:</b></p><p> i
87、f(pa==NULL)</p><p><b> {</b></p><p> cout<<"請先創(chuàng)建兩個一元多項式!\n";</p><p><b> break;</b></p><p><b> } </b></p>
88、<p> mulp=mulpolyn(pa,pb);</p><p> printpolyn(mulp);</p><p><b> break;</b></p><p> case 5: </p><p> if(pa==NULL)</p><p><b>
89、{</b></p><p> cout<<"請先創(chuàng)建兩個一元多項式!\n";</p><p><b> break;</b></p><p><b> }</b></p><p> delpolyn(pa,pb);</p><p
90、> pa=pb=NULL;</p><p><b> break;</b></p><p><b> case 6:</b></p><p> delpolyn(pa,pb);</p><p><b> exit(0);</b></p><p
91、><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> s</b></p><p><b> 第二題</b></p><p>
92、;<b> 程序及運行結果:</b></p><p> public class Monkey {</p><p><b> //主函數</b></p><p> public static void main(String[] args) {</p><p> List l = new
93、List();</p><p> l.array();</p><p><b> l.link();</b></p><p><b> }</b></p><p><b> }</b></p><p> //構成鏈表的結點定義</p>
94、;<p> public class Node {</p><p> public Node next;</p><p> public Object data;</p><p> public Node(Object data, Node next) {</p><p> this.data = data;</
95、p><p> this.next = next;</p><p><b> }</b></p><p><b> }</b></p><p> public class List {</p><p> private Node Head = null;</p>
96、;<p> private Node Tail = null;</p><p> private Node Pointer = null;</p><p> private int Length = 0;</p><p> //在當前結點前插入一個結點,并使其成為當前結點</p><p> public void in
97、sert(Object d) {</p><p> Node e = new Node(d, null);</p><p> if(Length == 0) {</p><p><b> Tail = e;</b></p><p><b> Head = e;</b></p>
98、<p><b> } else {</b></p><p> Node temp = cursor();</p><p> e.next = temp;</p><p> if(Pointer == null)</p><p><b> Head = e;</b></p&g
99、t;<p><b> else</b></p><p> Pointer.next = e;</p><p><b> }</b></p><p> Length ++;</p><p><b> }</b></p><p>
100、//將當前結點移出鏈表,下一個結點成為當前結點,如果移出的結點是最后一個結點,則第一個結點成為當前結點</p><p> public Object remove() {</p><p> Object temp;</p><p> if(Length == 0)</p><p><b> return 0;</b&g
101、t;</p><p> else if(Length == 1) {</p><p> temp = Head.data;</p><p> deleteAll();</p><p><b> }</b></p><p><b> else {</b></p&
102、gt;<p> Node cur = cursor();</p><p> temp = cur.data;</p><p> if(cur == Head)</p><p> Head = cur.next;</p><p> else if(cur == Tail) {</p><p>
103、Pointer.next = null;</p><p> Tail = Pointer;</p><p><b> reset();</b></p><p><b> }</b></p><p><b> else</b></p><p>
104、Pointer.next = cur.next;</p><p> Length --;</p><p><b> }</b></p><p> return temp;</p><p><b> }</b></p><p> //返回當前結點的指針</p&g
105、t;<p> private Node cursor() {</p><p> if(Head == null)</p><p> return null;</p><p> else if(Pointer == null)</p><p> return Head;</p><p><b
106、> else</b></p><p> return Pointer.next;</p><p><b> }</b></p><p> //返回當前結點的值</p><p> public Object currentNode() {</p><p> Node t
107、emp = cursor();</p><p> return temp.data;</p><p><b> }</b></p><p> public void deleteAll() {</p><p> Head = null;</p><p> Tail = null;<
108、/p><p> Pointer = null;</p><p> Length = 0;</p><p><b> }</b></p><p> public void reset() {</p><p> Pointer = null;</p><p><b&
109、gt; }</b></p><p><b> //鏈表實現</b></p><p> public void link() {</p><p> int s = 0;</p><p> List a=new List ();</p><p> for(int i=1;i&l
110、t;=10;i++) {</p><p> if(a.Length == 9) {</p><p><b> s = 1;</b></p><p> while(a.Length != 0) {</p><p> s = s*2 + 2;</p><p> a.remove();<
111、/p><p><b> }</b></p><p> System.out.println("鏈表實現:");</p><p> System.out.println("桃子總數: " + s);</p><p> } else a.insert(new Integer(i)
112、);</p><p><b> }</b></p><p><b> }</b></p><p><b> //數組實現</b></p><p> public void array() {</p><p> int a[] = new int
113、[10];</p><p><b> a[9] = 1;</b></p><p> for(int i=a.length-2; i>=0; i--) {</p><p> a[i] = 2 * a[i+1] +2;</p><p><b> }</b></p><p
114、> System.out.println("數組實現:");</p><p> System.out.println("桃子總數: " + a[0]);</p><p> System.out.println("****************");</p><p><b> }&
115、lt;/b></p><p><b> }</b></p><p> 1)package com.zw.tute.list;</p><p> public class Monkey {</p><p> public static void main(String[] args) {</p>
116、<p> List l = new List();</p><p> l.array();</p><p><b> l.link();</b></p><p><b> }</b></p><p><b> }</b></p><p&
117、gt; 2)package com.zw.tute.list;</p><p> //構成鏈表的結點定義</p><p> public class Node {</p><p> public Node next;</p><p> public Object data;</p><p> public
118、Node(Object data, Node next) {</p><p> this.data = data;</p><p> this.next = next;</p><p><b> }</b></p><p><b> }</b></p><p> /
119、/具體方法實現要求</p><p> 3)package com.zw.tute.list;</p><p> public class List {</p><p> private Node Head = null;</p><p> private Node Tail = null;</p><p>
120、private Node Pointer = null;</p><p> private int Length = 0;</p><p> //在當前結點前插入一個結點,并使其成為當前結點</p><p> public void insert(Object d) {</p><p> Node e = new Node(d, nu
121、ll);</p><p> if(Length == 0) {</p><p><b> Tail = e;</b></p><p><b> Head = e;</b></p><p><b> } else {</b></p><p> N
122、ode temp = cursor();</p><p> e.next = temp;</p><p> if(Pointer == null)</p><p><b> Head = e;</b></p><p><b> else</b></p><p> P
123、ointer.next = e;</p><p><b> }</b></p><p> Length ++;</p><p><b> }</b></p><p> //將當前結點移出鏈表,下一個結點成為當前結點,如果移出的結點是最后一個結點,則第一個結點成為當前結點</p>
124、<p> public Object remove(Object temp, int k) {</p><p> if(Length == 0)</p><p><b> return 0;</b></p><p> else if(Length == 1) {</p><p> temp = He
125、ad.data;</p><p> deleteAll();</p><p><b> }</b></p><p><b> else {</b></p><p> Node cur = cursor();</p><p> temp = cur.data;<
126、/p><p> if(cur == Head)</p><p> Head = cur.next;</p><p> else if(cur == Tail) {</p><p> Pointer.next = null;</p><p> Tail = Pointer;</p><p>
127、<b> reset();</b></p><p><b> }</b></p><p><b> else</b></p><p> Pointer.next = cur.next;</p><p> Length --;</p><p>&
128、lt;b> }</b></p><p> return temp;</p><p><b> }</b></p><p> //返回當前結點的指針</p><p> private Node cursor() {</p><p> if(Head == null)&l
129、t;/p><p> return null;</p><p> else if(Pointer == null)</p><p> return Head;</p><p><b> else</b></p><p> return Pointer.next;</p><
130、p><b> }</b></p><p> //返回當前結點的值</p><p> public Object currentNode() {</p><p> Node temp = cursor();</p><p> return temp.data;</p><p><
131、;b> }</b></p><p> public void deleteAll() {</p><p> Head = null;</p><p> Tail = null;</p><p> Pointer = null;</p><p> Length = 0;</p>
132、<p><b> }</b></p><p> public void reset() {</p><p> Pointer = null;</p><p><b> }</b></p><p><b> //鏈表實現</b></p><
133、;p> public void link() {</p><p> int s = 0;</p><p> List a=new List ();</p><p> for(int i=1;i<=10;i++) {</p><p> if(a.Length == 9) {</p><p><
134、b> s = 1;</b></p><p> while(a.Length != 0) {</p><p> s = s*2 + 2;</p><p> a.remove(new Integer(10-i), s);</p><p><b> }</b></p><p>
135、; System.out.println("鏈表實現:");</p><p> System.out.println("桃子總數= " + s);</p><p> } else a.insert(new Integer(i));</p><p><b> }</b></p>&l
136、t;p><b> }</b></p><p><b> //數組實現</b></p><p> public void array() {</p><p> int a[] = new int[10];</p><p><b> a[9] = 1;</b><
137、;/p><p> for(int i=a.length-2; i>=0; i--) {</p><p> a[i] = 2 * a[i+1] +2;</p><p><b> }</b></p><p> System.out.println("數組實現:");</p><
138、;p> System.out.println("桃子總數= " + a[0]);</p><p> System.out.println("****************");</p><p><b> }</b></p><p><b> }</b></p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 猴子吃桃問題數據結構課程設計
- 數據結構課程設計-猴子吃桃
- 數據結構課程設計---多項式問題
- 猴子吃桃問題-數據結構與算法課程設計報告
- 數據結構課程設計---猴子吃桃子問題
- 《數據結構》課程設計報告-多項式計算
- 數據結構課程設計---一元多項式
- 數據結構課程設計--多項式計算器
- 數據結構課程設計----一元多項式
- 一元多項式計算(數據結構課程設計)
- 數據結構課程設計---一元多項式計算
- 數據結構課程設計--一元多項式計算問題(c語言)
- c++課程設計報告---猴子吃桃問題
- 數據結構課程設計-一元多項式的表示及相加
- 數據結構課程設計-一元多項式計算器
- 數據結構課程設計報告一元多項式的計算
- 數據結構課程設計報告一元多項式的實現
- 數據結構課程設計報告-一元多項式加減運算
- 一元多項式的計算數據結構課程設計
- 數據結構課程設計-一元多項式的代數運算
評論
0/150
提交評論