面向對象程序設計課程實驗報告(共50頁)_第1頁
面向對象程序設計課程實驗報告(共50頁)_第2頁
面向對象程序設計課程實驗報告(共50頁)_第3頁
面向對象程序設計課程實驗報告(共50頁)_第4頁
面向對象程序設計課程實驗報告(共50頁)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上課 程 實 驗 報 告課程名稱:面向對象程序設計院 系 : 專業(yè)班級 : 學 號 : 姓 名 : 指導教師 : 目 錄專心-專注-專業(yè)實驗一.面向過程的整型棧編程1.需求分析1.1題目要求整型棧是一種先進后出的存儲結構,對其進行的操作通常包括判斷棧是否為空、向棧頂添加一個整型元素、出棧等。整型棧類型及其操作函數(shù)采用非面向對象的純C語言定義,請將完成上述操作的所有函數(shù)采用面向過程的方法編程, 然后寫一個main函數(shù)對棧的所有操作函數(shù)進行測試。struct STACK int *elems;/申請內存用于存放棧的元素 int max;/棧能存放的最大元素個數(shù) int po

2、s;/棧實際已有元素個數(shù),??諘rpos=0;void initSTACK(STACK *const p, int m);/初始化p指空棧:可存m個元素void initSTACK(STACK *const p, const STACK&s); /用s初始化p指空棧int size (const STACK *const p);/返回p指的棧的最大元素個數(shù)maxint howMany (const STACK *const p);/返回p指的棧的實際元素個數(shù)posint getelem (const STACK *const p, int x);/取下標x處的棧元素STACK *const pu

3、sh(STACK *const p, int e); /將e入棧,并返回pSTACK *const pop(STACK *const p, int &e);/出棧到e,并返回pSTACK *const assign(STACK*const p, const STACK&s);/賦給p指棧,返回pvoid print(const STACK*const p);/打印p指向的棧元素void destroySTACK(STACK*const p);/銷毀p指向的棧,釋放1.2需求分析本實驗需要實現(xiàn)棧的功能的操作,如元素的進棧,連續(xù)進棧,出棧和連續(xù)出棧,所以需要設計兩個棧,在完成初始化后直接在程序里給

4、定棧內元素。2.系統(tǒng)設計2.1概要設計函數(shù)結構圖見圖1.1圖1.1總體流程圖見圖1.2圖1.22.2詳細設計void initSTACK(STACK *const p, int m)入口參數(shù):int m出口參數(shù):無功能:初始化棧,可存m個元素void initSTACK(STACK *const p, const STACK&s)入口參數(shù):const STACK&s出口參數(shù):無功能:用s初始化p指空棧int size (const STACK *const p) 入口參數(shù):無出口參數(shù):int max功能:返回p指的棧的最大元素個數(shù)maxint howMany (const STACK *con

5、st p) 入口參數(shù):無出口參數(shù):int pos功能:返回p指的棧的實際元素個數(shù)posint getelem (const STACK *const p, int x) 入口參數(shù):int x出口參數(shù):elemm功能:取下標x處的棧元素STACK *const push(STACK *const p, int e) 入口參數(shù):int e出口參數(shù):(*this)功能:將e入棧,并返回pSTACK *const pop(STACK *const p, int &e) 入口參數(shù):int &e出口參數(shù):(*this)功能:出棧到e,并返回pSTACK *const assign(STACK*const

6、p, const STACK&s) 入口參數(shù):STACK&s出口參數(shù):(*this)功能:賦s給p指棧,返回pvoid print(const STACK*const p) 入口參數(shù):無出口參數(shù):無功能:打印p指向的棧元素void destroySTACK(STACK*const p) 入口參數(shù):出口參數(shù):功能:銷毀p指向的棧,釋放3.軟件開發(fā)在Codeblocks編譯環(huán)境下,使用C+語言編寫。4.軟件測試測試結果見圖1.3圖1.35.特點與不足5.1技術特點完成了實驗的所有要求,沒有錯誤的地方。5.2不足和改進的建議沒有做人機交互界面,無法自由選擇入棧的數(shù)據(jù);同時注釋較少,對于程序不了解的人

7、可能需要花費更多時間去了解。6.過程和體會6.1遇到的主要問題和解決方法輸出結果數(shù)字與預計不同,檢查后發(fā)現(xiàn)原因是變量初始值未設置。6.2課程設計的體會本次實驗主要還是通過回顧C語言中棧的知識完成在C+上的編程,所以總體過程沒有出現(xiàn)太大的問題;同時也對const變量有了進一步的認識。7.源碼和說明7.1文件清單及其功能說明experiment1.cpp源碼experiment1.exe可執(zhí)行文件。7.2用戶使用說明書experiment1.cpp是程序的源碼,可通過修改其中main函數(shù)中的變量來測試各個函數(shù)。7.3源代碼#include#include#includestruct STACK i

8、nt *elems;/申請內存用于存放棧的元素 int max; /棧能存放的最大元素個數(shù) int pos; /棧實際已有元素個數(shù),??諘rpos=0;void initSTACK(STACK *const p, int m);/初始化p指向的棧:最多m個元素void initSTACK(STACK *const p, const STACK&s); /用棧s初始化p指向的棧int size (const STACK *const p);/返回p指向的棧的最大元素個數(shù)maxint howMany (const STACK *const p);/返回p指向的棧的實際元素個數(shù)posint getel

9、em (const STACK *const p, int x);/取下標x處的棧元素STACK *const push(STACK *const p, int e); /將e入棧,并返回pSTACK *const pop(STACK *const p, int &e); /出棧到e,并返回pSTACK *const assign(STACK*const p, const STACK&s); /賦s給p指的棧,并返回pvoid print(const STACK*const p);/打印p指向的棧void destroySTACK(STACK*const p);/銷毀p指向的棧int main

10、(int argc, char* argv) STACK *s1 = (STACK *)malloc(sizeof(STACK); STACK *s2 = (STACK *)malloc(sizeof(STACK); initSTACK(s1,10); push(s1,1); push(s1,2); push(push(s1,3),4); initSTACK(s2,*s1); print(s2); printf(棧s1:n); print(s1); /assign(s2,*s1); printf(棧s2:n); print(s2); int a,b,c; a = size(s1); print

11、f(棧的最大元素個數(shù)是 %dn,a); b = howMany(s1); printf(棧的實際元素個數(shù)是 %dn,b); c = getelem(s1,3); printf(3處棧元素是是%dn,c); int x,y,z; pop(s2,x); pop(pop(s2,y),z); printf(x= %d, y= %d, z= %d n,x,y,z); destroySTACK(s2); destroySTACK(s1); getchar(); return 0;void initSTACK(STACK *const p, int m)/初始化p指向的棧:最多m個元素 p-elems =

12、(int*)malloc(m*sizeof(int*); if(!p-elems) return; p-pos = 0; p-max = m; int i; for(i=0;imax);i+) p-elemsi = 0;void initSTACK(STACK *const p, const STACK&s) /用棧s初始化p指向的棧 p-elems = (int*)malloc(s.max)*sizeof(int); p-pos = s.pos; p-max = s.max; int i; for(i=0;ielemsi=s.elemsi; printf(%dn,p-elemsi); int

13、 size (const STACK *const p)/返回p指向的棧的最大元素個數(shù)max return p-max;int howMany (const STACK *const p)/返回p指向的棧的實際元素個數(shù)pos return p-pos;int getelem (const STACK *const p, int x)/取下標x處的棧元素 if(p=NULL) return NULL; else if(x(p-pos) printf(不存在元素n); else return p-elemsx; STACK *const push(STACK *const p, int e) /將

14、e入棧,并返回p if(p=NULL) return NULL; else if(p-pos)max) p-elemsp-pos=e; p-pos+; return p; else printf(棧滿n); STACK *const pop(STACK *const p, int &e) /出棧到e,并返回p if(p=NULL) return NULL; else if(p-pos)=0) printf(棧為空n); else e=p-elems(p-pos)-1; (p-pos)-; return p; STACK *const assign(STACK*const p, const ST

15、ACK&s) /賦s給p指的棧,并返回p if(p=NULL | &s=NULL) return NULL; else free(p-elems); /free(p); /STACK *p = (STACK *)malloc(sizeof(STACK); initSTACK(p,s); return p; void print(const STACK*const p)/打印p指向的棧 int i; if(p = NULL) return; else if(p-pos = 0) printf(棧為空n); else for(i=0;ipos);i+) printf(%d ,p-elemsi);

16、printf(n); void destroySTACK(STACK*const p)/銷毀p指向的棧 free(p-elems); free(p); printf(棧已銷毀n);實驗二.面向對象的整型棧編程1.需求分析1.1題目要求整型棧是一種先進后出的存儲結構,對其進行的操作通常包括判斷棧是否為空、向棧頂添加一個整型元素、出棧等。整型棧類型及其操作函數(shù)采用面向對象的C+語言定義,請將完成上述操作的所有函數(shù)采用C+編程, 然后寫一個main函數(shù)對棧的所有操作函數(shù)進行測試。class STACK int *const elems;/申請內存用于存放棧的元素 const int max;/棧能存

17、放的最大元素個數(shù) int pos;/棧實際已有元素個數(shù),棧空時pos=0;public:STACK(int m);/初始化棧:最多m個元素STACK(const STACK&s); /用棧s拷貝初始化棧int size ( ) const;/返回棧的最大元素個數(shù)maxint howMany ( ) const;/返回棧的實際元素個數(shù)posint getelem (int x) const;/取下標x處的棧元素STACK& push(int e); /將e入棧,并返回棧STACK& pop(int &e); /出棧到e,并返回棧STACK& assign(const STACK&s); /賦s給

18、棧,并返回被賦值的棧void print( ) const;/打印棧STACK( );/銷毀棧;1.2需求分析采用面向對象的C+語言定義整型棧,對其進行的操作通常包括判斷棧是否為空、向棧頂添加一個整型元素、出棧等。2.系統(tǒng)設計2.1概要設計首先需要定義一個類來實現(xiàn)棧,然后依次實現(xiàn)棧的各個功能,在主函數(shù)中給定一個棧然后,然后通過函數(shù)調用實現(xiàn)棧的功能。2.2詳細設計STACK(int m) 功能:初始化棧:最多m個元素返回值:無STACK(const STACK&s) 功能:用棧s拷貝初始化棧返回值:無int size ( ) const功能:返回棧的最大元素個數(shù)max返回值:最大元素個數(shù)maxi

19、nt howMany ( ) const功能:返回棧的實際元素個數(shù)pos返回值:元素數(shù)目posint getelem (int x) const 功能:取下標x處的棧元素返回值:下標為x的元素STACK& push(int e)功能:將e入棧返回值:棧的引用STACK& pop(int &e)功能:出棧到e,并返回棧返回值:棧的引用STACK& assign(const STACK&s) 功能:使用棧s給棧p賦值返回值:棧的引用void print( ) const功能:打印棧返回值:無STACK( ) 功能:銷毀棧返回值:無3.軟件開發(fā)在Codeblocks編譯環(huán)境下,使用C+語言編寫。4.

20、軟件測試測試結果見圖2.1圖2.15.特點與不足5.1技術特點完成了初定目標,無其他特點。5.2不足和改進的建議人機交互需要進一步完善。6.過程和體會6.1遇到的主要問題和解決方法由于第一次使用c+面向對象編寫程序,開始不明白對象的生成及使用。在和同學老師的溝通和交流中,慢慢學會了編程的方法。6.2課程設計的體會C+語言與C語言有很多相通的地方,所以其中的某些原理和方法可以互相借鑒,這樣就減少了在理解上的難度。7.源碼和說明7.1文件清單及其功能說明experiment2.cpp源碼experiment2.exe可執(zhí)行文件。7.2用戶使用說明書experiment2.cpp是程序的源碼,可通過

21、修改其中main函數(shù)中的變量來測試各個函數(shù)。7.3源代碼#include #include using namespace std;class STACK int *const elems;/申請內存用于存放棧的元素 const int max;/棧能存放的最大元素個數(shù) int pos;/棧實際已有元素個數(shù),??諘rpos=0;public:STACK(int m);/初始化棧:最多m個元素STACK(const STACK&s); /用棧s拷貝初始化棧int size ( ) const;/返回棧的最大元素個數(shù)maxint howMany ( ) const;/返回棧的實際元素個數(shù)posint

22、 getelem (int x) const;/取下標x處的棧元素STACK& push(int e); /將e入棧,并返回棧STACK& pop(int &e); /出棧到e,并返回棧STACK& assign(const STACK&s); /賦s給棧,并返回被賦值的棧void print( ) const;/打印棧STACK( );/銷毀棧;STACK:STACK(int m):elems(new intm),max(m),pos(0)STACK:STACK(const STACK&s):elems(new ints.size(),max(s.size(),pos(s.howMany()

23、 for(int i=0;ipos;i+) elemsi=s.getelem(i); cout復制構造成功endl;int STACK:size() const return max;int STACK:howMany() const return pos;int STACK:getelem (int x) const return elemsx;STACK& STACK:push(int e) if(posmax) elemspos=e; pos+; else coutfulln; return *this;STACK& STACK:pop(int &e) if(pos=0) coutemp

24、ty stack;return *this; pos-; e = elemspos; cout出棧成功; return *this;STACK& STACK:assign(const STACK&s) int i; delete elems;/ elems = new int s.size();/ max = s.size(); pos = s.howMany(); for(i=0;is.howMany();i+) elemsi = s.getelem(i); return *this;void STACK:print( ) const int i; cout棧的元素為:; for(i=0;i

25、pos;i+) coutelemsi ; coutendl;STACK:STACK() delete elems;/ elems= 0; / max = 0; pos = 0; cout析構完成;int main() STACK s(7); s.push(5); s.push(7); s.push(9); s.push(11); s.print(); int i; s.pop(i); cout出棧元素iendl; STACK p(s); cout容量p.size()endl; cout當前元素數(shù)目p.howMany();實驗三.基于算符重載的整型棧編程1.需求分析1.1題目要求整型棧是一種先進

26、后出的存儲結構,對其進行的操作通常包括判斷棧是否為空、向棧頂添加一個整型元素、出棧等。整型棧類型及其操作函數(shù)采用面向對象的C+語言定義,請將完成上述操作的所有函數(shù)采用C+編程, 然后寫一個main函數(shù)對棧的所有操作函數(shù)進行測試。class STACK int *const elems;/申請內存用于存放棧的元素 const int max;/棧能存放的最大元素個數(shù) int pos;/棧實際已有元素個數(shù),??諘rpos=0;public:STACK(int m);/初始化棧:最多m個元素STACK(const STACK&s); /用棧s拷貝初始化棧virtual int size ( ) con

27、st;/返回棧的最大元素個數(shù)maxvirtual operator int ( ) const;/返回棧的實際元素個數(shù)posvirtual int operator (int x) const;/取下標x處的棧元素virtual STACK& operator(int &e);/出棧到e,并返回棧virtual STACK& operator=(const STACK&s);/賦s給棧,并返回被賦值的棧virtual void print( ) const;/打印棧virtual STACK( );/銷毀棧;1.2需求分析采用面向對象的C+語言定義,構建整型棧并對其進行判斷棧是否為空、向棧頂添

28、加一個整型元素、出棧等操作。2.系統(tǒng)設計2.1概要設計首先需要定義一個類來實現(xiàn)棧,然后依次實現(xiàn)棧的各個功能,在主函數(shù)中給定一個棧然后,然后通過函數(shù)調用實現(xiàn)棧的功能。2.2詳細設計初始化定義一個類,分配一個數(shù)組空間來存儲棧內元素信息,然后初始化為0; 實現(xiàn)入棧則需要將入棧元素e放入棧內,采用了先判斷棧的最大容量夠不夠的問題,如果不夠重新分配空間,并且讓e入棧,將當前元素pos加一;然后返回棧結構。 實現(xiàn)出棧操作,首先判斷是不是空,若空直接返回,不空則需將棧頂?shù)脑刭x給一個變量然后將當前元素pos減一;返回棧結構。實現(xiàn)棧的賦給即需要將s1棧內的元素依次賦給s2棧的,當前元素也需一致并且返回新的棧結

29、構。3.軟件開發(fā)在Codeblocks編譯環(huán)境下,使用C+語言編寫。4.軟件測試測試結果見圖3.1圖3.15.特點與不足5.1技術特點使用了符號重載,在一定程度上簡化了函數(shù)。5.2不足和改進的建議在使用符號重載時需要特別注意,防止與其他操作符混淆。6.過程和體會6.1遇到的主要問題和解決方法對于符號重載,剛開始不會調用函數(shù),之后通過查閱書籍,明白了重載的含義。6.2課程設計的體會本次實驗以實驗二為基礎,通過使用符號重載來更簡單的實現(xiàn)實驗目的。7.源碼和說明7.1文件清單及其功能說明experiment3.cpp源碼experiment3.exe可執(zhí)行文件。7.2用戶使用說明書experimen

30、t3.cpp是程序的源碼,可通過修改其中main函數(shù)中的變量來測試各個函數(shù)。7.3源代碼#include #include using namespace std;class STACK int *const elems;/申請內存用于存放棧的元素 const int max;/棧能存放的最大元素個數(shù) int pos;/棧實際已有元素個數(shù),??諘rpos=0;public:STACK(int m);/初始化棧:最多m個元素STACK(const STACK&s); /用棧s拷貝初始化棧virtual int size ( ) const;/返回棧的最大元素個數(shù)maxvirtual operato

31、r int () const;/返回棧的實際元素個數(shù)posvirtual int operator (int x) const;/取下標x處的棧元素virtual STACK& operator(int &e);/出棧到e,并返回棧virtual STACK& operator=(const STACK&s); /賦s給棧,并返回被賦值的棧virtual void print( ) const;/打印棧virtual STACK( );/銷毀棧;STACK:STACK(int m):elems(new intm),max(m),pos(0)STACK:STACK(const STACK&s):

32、elems(new ints.max),max(s.max),pos(s.pos) for(int i=0;ipos;i+) elemsi=s.elemsi;int STACK:size ( ) constreturn max;STACK:operator int () constreturn pos;int STACK:operator (int x) constreturn elemsx;STACK& STACK:operatormax) cout(int &e) if(pos=0) cout棧空; else e=*(elems+pos-1); pos-; return (*this);S

33、TACK& STACK:operator=(const STACK&s) delete elems; *(int*)&elems = new ints.max; *(int*)&max = s.max; for(pos=0;poss.pos;pos+) elemspos = s.elemspos; return *this;void STACK:print( ) const for(int i=0;ipos;i+) coutelemsin;STACK:STACK( ) delete elems; if(elems=0) cout銷毀失敗endl; else cout銷毀成功endl; int

34、main() STACK i(5),j(8); i136k; coutkn; i.print(); j=i; j.print(); j1234; coutendl(int)j;實驗四. 面向對象的整型隊列編程1.需求分析1.1題目要求整型隊列是一種先進先出的存儲結構,對其進行的操作通常包括判斷隊列是否為空、向隊列頂添加一個整型元素、出隊列等。整型隊列類型及其操作函數(shù)采用面向對象的C+語言定義,請將完成上述操作的所有函數(shù)采用C+編程, 然后寫一個main函數(shù)對隊列的所有操作函數(shù)進行測試。class QUEUE int *const elems;/申請內存用于存放隊列的元素 const int m

35、ax;/隊列能存放的最大元素個數(shù) int head, tail;/隊列頭和尾,隊列空時head=tail;初始時head=tail=0public:QUEUE(int m);/初始化隊列:最多m個元素QUEUE(const QUEUE&s); /用隊列s拷貝初始化隊列virtual operator int ( ) const;/返回隊列的實際元素個數(shù)virtual QUEUE& operator(int &e)volatile;/出隊列到e,并返回隊列virtual QUEUE& operator=(const QUEUE&s); /賦s給隊列,并返回被賦值的隊列virtual void p

36、rint( ) const;/打印隊列virtual QUEUE( );/銷毀隊列;1.2需求分析本題目用數(shù)組實現(xiàn)隊列,需要預知需要空間的大小,會造成空間浪費或不夠用;插入或刪除不需要動態(tài)分配或刪除內存,耗時很?。恢С蛛S機存取。2.系統(tǒng)設計定義一個類,分配一個數(shù)組空間來存儲棧內元素信息,類中分別定義兩個int元素表示隊列的頭和尾,入棧的時候,頭加一;出棧的時候,尾加一。3.軟件開發(fā)在Codeblocks編譯環(huán)境下,使用C+語言編寫。4.軟件測試測試結果見圖4.1圖4.15.特點與不足5.1技術特點通過創(chuàng)建隊列類QUEUE,完成了隊列的構造析構等諸多功能;同時再次運用重載操作符方便了入隊出隊等操

37、作的完成。5.2不足和改進的建議隊列一旦生成則無法改變。6.過程和體會6.1遇到的主要問題和解決方法如何構建一個循環(huán)隊列,解決方法利用求余的方法,當頭結點大于最大元素的時候,除以最大元素求余,重新的得到頭結點。6.2課程設計的體會本次實驗使用面向對象的方法來編寫一個隊列,讓我對隊列的構建以及對其進行一些列的操作有了更進一步的了解。與前幾次棧的實驗相比,難度有所增加,但更鍛煉了個人能力。7.源碼和說明7.1文件清單及其功能說明experiment4.cpp源碼experiment4.exe可執(zhí)行文件。7.2用戶使用說明書experiment4.cpp是程序的源碼,可通過修改其中main函數(shù)中的變

38、量來測試各個函數(shù)。7.3源代碼#include #include using namespace std;class QUEUE int *const elems;/申請內存用于存放隊列的元素 const int max;/隊列能存放的最大元素個數(shù) int head, tail;/隊列頭和尾,隊列空時head=tail;初始時head=tail=0public:QUEUE(int m);/初始化隊列:最多m個元素QUEUE(const QUEUE&s); /用隊列s拷貝初始化隊列virtual operator int ( ) const;/返回隊列的實際元素個數(shù)virtual QUEUE&

39、operator(int &e);/出隊列到e,并返回隊列virtual QUEUE& operator=(const QUEUE&s); /賦s給隊列,并返回被賦值的隊列virtual void print( ) const;/打印隊列virtual QUEUE( );/銷毀隊列;QUEUE:QUEUE(int m):elems(new intm),max(m),head(0),tail(0)QUEUE:QUEUE(const QUEUE&s):elems(new ints.max),max(s.max),head(s.head),tail(s.tail) for(int i=head;i=

40、head) return (tail-head); return (max-head+tail);QUEUE& QUEUE:operator(int e) if(tail+1)%max=head) cout(int &e) if(head=tail) cout隊列空n; else e=elemshead; head=(head+)%max; return(*this);QUEUE& QUEUE:operator=(const QUEUE&s) delete elems; *(int*)&elems = new ints.max; *(int*)&max = s.max; head = s.he

41、ad; tail = s.tail; for(int i=head;itail;i+) elemsi=s.elemsi; cout賦值成功n; return *this;void QUEUE:print( ) const if(head=tail) coutEmptyn; cout隊列元素為:; if(headtail) for(int i=head;itail;i+) coutelemsit; else for(int i=head;imax+1;i+) coutelemsit; for(int i=0;itail;i+) coutelemsit; coutn;QUEUE:QUEUE( )

42、delete elems; *(int*)&elems = 0; *(int*)&max =0; head = tail =0;int main() QUEUE q(5); q258; cout元素數(shù)目(int)qi; cout出隊元素iendl; q.print();實驗五. 基于組合的整型隊列編程1.需求分析1.1題目要求整型隊列是一種先進先出的存儲結構,對其進行的操作通常包括判斷隊列是否為空、向隊列頂添加一個整型元素、出隊列等。整型隊列類型及其操作函數(shù)采用面向對象的C+語言定義,請將完成上述操作的所有函數(shù)采用C+編程, 然后寫一個main函數(shù)對隊列的所有操作函數(shù)進行測試。注意,請用實驗三

43、的SATCK組合形成新的類QUEUE。請說明如果刪掉virtual有什么不同。class QUEUE STACK s1, s2;public:QUEUE(int m);/初始化隊列:每個棧最多m個元素QUEUE(const QUEUE&s); /用隊列s拷貝初始化隊列virtual operator int ( ) const;/返回隊列的實際元素個數(shù)virtual QUEUE& operator(int &e);/出隊列到e,并返回隊列virtual QUEUE& operator=(const QUEUE&s); /賦s給隊列,并返回被賦值的隊列virtual void print( )

44、const;/打印隊列virtual QUEUE( );/銷毀隊列;1.2需求分析采用面向對象的C+語言定義,構建整型隊列并對其進行的操作通常包括判斷隊列是否為空、向隊列頂添加一個整型元素、出隊列等,再寫一個main函數(shù)對隊列的所有操作函數(shù)進行測試。2.系統(tǒng)設計用兩個棧實現(xiàn)隊列,先判棧S2是否為空,如果為空,對S1進行入棧操作,如果不是空,棧S2數(shù)據(jù)元素倒入到S1,然后對S1進行入棧操作。 出隊列時。判斷S2是否為空,如果非空S2中的元素出棧,若果為空,把S1的元素倒入到S2,對S2的元素進行出棧操作3.軟件開發(fā)在Codeblocks編譯環(huán)境下,使用C+語言編寫。4.軟件測試測試結果見圖5.1圖5.15.特點與不足5.1技術特點基本功能已完成,無其他特點。5.2不足和改進的建議代碼可能有點繁瑣,所以可以對代碼進行一些精簡操

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論