資料結構課程設計

2021-03-04 06:53:36 字數 2168 閱讀 9292

環境與測繪學院

1 c++物件導向程式設計基礎

【實驗簡介】學會用演算法語言c++描述抽象資料型別。理解資料結構的組成分為兩部分,第一部分是資料集(資料元素),第二部分是在此資料集上的操作。從物件導向的觀點看,這兩部分代表了物件的屬性和方法。

掌握用c++描述資料結構的基本方法,即通過建立類來描述抽象資料型別。類的資料成員提供物件屬性,成員函式提供操作方法,方法是公共介面,使用者通過呼叫方法實現對屬性的訪問。

【實驗內容】

1. 定義三維空間的座標點tpoint

2. 描述三維空間的球tball,實現其主要操作(如計算體積和表面積,輸出空間座標等)。

3. 實現功能:輸入一點,判斷它與球的位置關係。

【主要**】

#include

#define pi 3.141592653

class tpoint

空間座標點類

protected:

double x,y,z;

public:

//tpoint() ;};//移動座標點的位置

class tball:public tpoint//帶引數的建構函式

tball(tpoint &pn):tpoint(pn)

double a();

int tball::position(tpoint &pt求點pt相對於球的位置

void tball::judge(tpoint &pt)

}void tball::show輸出球的各屬性值

cout<<"x="< cout<<"球的半徑="< cout<<"球的表面積="< cout<<"球的體積="<}

void main()

【實驗過程】 【實驗體會】本題要求學會用演算法語言c++描述抽象資料型別,屬於一道比較簡單的題目,對繼承又有了進一步的了解。通過本題的訓練,使c++物件導向的程式設計的基礎知識得到了鞏固和複習,對物件導向程式設計的思想有了更加深刻的認識,為以後更複雜的問題的解決奠定了必要的基礎。

上機練習4 將中綴表示式轉換為字尾表示式

【問題描述】表示式轉換。輸入的中綴表示式為字串,轉換得到的字尾表示式存入字元陣列中並輸出。

例如: a*(x+y)/(b-x) 轉換後得: a x y + * b x - /

【資料結構】

● 定義乙個暫時存放運算子的轉換工作棧opst。

● 中綴表示式字串char *infix;

● 字尾表示式字串char *postfix;

【演算法提示】轉換規則:把運算子移到它的兩個運算元後面,刪除掉所有的括號。

從頭到尾掃瞄中綴表示式,對不同型別的字元按不同情況處理:

● 數字或小數點,直接寫入字串postfix,並在每個數值後面寫入乙個空格;

● 左括號,進棧,直到遇見相配的右括號,才出棧;

● 右括號,表明已掃瞄過括號內的中綴表示式,把從棧頂直到對應左括號之間的運算子依次退棧,並把結果推入棧內;

● 對於運算子,分兩種情況處理:

◆ 該運算子的優先順序大於棧頂符號的優先順序,則入棧;

◆ 若該運算子的優先順序小於棧頂優先順序,則先彈出棧頂運算子、寫入postfix串;繼續將該運算子與棧頂運算子比較,直到能把它推入棧內為止(即優先順序大於棧頂運算子)。

說明:自行設計運算子優先順序的表示。

【主要**】

#include

#include

using namespace std;

const int stackincreament = 20;//棧溢位時擴充套件空間的增量

template

class seqstack//順序棧的類定義

//析構函式

void push(const t& x);//如果isfull(),則溢位處理;否則把x插入到棧頂

bool pop(t& x);//如果isempty(),則不執行退棧,返回false;否則退掉位於棧頂的元素,返回true

bool gettop(t& x);

bool isempty() const

bool isfull()const

int getsize()const //函式返回棧中元素個數

void makeempty() //清空棧中的內容

friend ostream& operator<<(ostream&os,seqstack& s) ;//輸出棧中元素的過載操作<<

資料結構課程設計

指導書山東建築大學 電腦科學與技術學院 二 六年十二月 課程設計基本情況 課程名稱 資料結構課程設計 相關課程 c語言程式設計 visual c 程式設計 資料結構 適合專業 電腦科學與技術 網路工程 軟體工程 設計週數 2周 學分 2學分 開課學期 第4學期 開課單位 電腦科學與技術學院 一 課程...

資料結構課程設計

總結報告 專業軟體工程 班級軟體1007 學號 20103540 姓名 日期 2012.9.17 東北大學軟體學院 第一章需求分析 問題定義 實現乙個網上拍賣系統,根據需求描述和附加的框架 完成乙個網上拍賣系統。分析 整個系統執行於windows平台,是基於b s結構的商業應用程式,程式為使用者提供...

資料結構課程設計

長治學院 課程設計報告 課程名稱 資料結構 設計題目 圖書借閱管理系統 系別計算機系 專業 電腦科學與技術 組別10 學生姓名 袁野學號 10407240 起止日期 2012年4月1日 2012年 6月11日 指導教師孫俊傑 目錄第一章需求分析 2 1.1課程設計題目 2 1.2課程設計內容及要求 ...