數(shù)據(jù)結(jié)構(gòu)實習報告
數(shù)據(jù)結(jié)構(gòu)實習報告范文
精選范文:數(shù)據(jù)結(jié)構(gòu)實習報告(共2篇)
一、需求分析1、 程序所實現(xiàn)的功能;2、 程序的輸入,包含輸入的數(shù)據(jù)格式和說明;3、 程序的輸出,程序輸出的形式;4、 測試數(shù)據(jù),如果程序輸入的數(shù)據(jù)量比較大,需要給出測試數(shù)據(jù);5、 合作人及其分工二、設(shè)計說明1、 主要的數(shù)據(jù)結(jié)構(gòu)設(shè)計說明;2、 程序的主要流程圖;3、 程序的主要模塊,要求對主要流程圖中出現(xiàn)的模塊進行說明4、 程序的主要函數(shù)及其偽代碼說明 (不需要完整的代碼) ;5、 合作人設(shè)計分工三、上機結(jié)果及體會1、 合作人編碼分工2、 實際完成的情況說明(完成的功能,支持的數(shù)據(jù)類型等);3、 程序的性能分析,包括時空分析;4、 上機過程中出現(xiàn)的問題及其解決方案;5、 程序中可以改進的地方說明;6、 程序中可以擴充的功能及設(shè)計實現(xiàn)假想;說明:1、 如果程序比較大,可以將設(shè)計說明分為概要設(shè)計和詳細設(shè)計兩部分。概要設(shè)計主要負責程序的流程、模塊、抽象數(shù)據(jù)類型設(shè)計;詳細設(shè)計負責程序的數(shù)據(jù)類型定義和主要函數(shù)的說明。2、 設(shè)計說明中,不需要寫出代碼或者模塊的詳細代碼,只需要寫出主要函數(shù)的偽代碼說明。
(資料圖)
[數(shù)據(jù)結(jié)構(gòu)實習報告(共2篇)]
篇一:數(shù)據(jù)結(jié)構(gòu)實訓報告
《數(shù)據(jù)結(jié)構(gòu)》
課程設(shè)計報告
題 目:
班 級:
姓 名:
學 號:
指導教師:
實現(xiàn)兩個鏈表的合并 ?08計管(2)班 ? 肖麗娜 ? ? ?20xx 年 6 月 17 日
目錄
一、 課程設(shè)計的性質(zhì)、目的及要求 ············································· 3
一、 課程設(shè)計性質(zhì) ···································································· 3
二、 設(shè)計目的 ············································································ 3
三、 設(shè)計要求 ············································································ 3
二、 任務(wù)描述 ················································································· 3
三、 軟件環(huán)境 ················································································· 4
四、 算法設(shè)計思想及流程圖 ························································· 4
一、 算法設(shè)計思想 ···································································· 4
二、 流程圖 ················································································ 5
五、 源代碼 ····················································································· 6
六、 運行結(jié)果 ················································································· 9
七、 收獲及體會 ··········································································· 10
一、 課程設(shè)計的.性質(zhì)、目的及要求
一、 課程設(shè)計性質(zhì)
性質(zhì):數(shù)據(jù)結(jié)構(gòu)設(shè)計是《數(shù)據(jù)結(jié)構(gòu)》課程的實踐環(huán)節(jié),也是我院各專業(yè)必修的計算機技術(shù)基礎(chǔ)課程之一。
二、 設(shè)計目的
目的:課程設(shè)計為學生提供了一個既動手又動腦,獨立實踐的機會,學生將課本上的理論知識和實際有機的結(jié)合起來,鍛煉學生分析、解決較復雜問題的能力,本次課程設(shè)計,也是為了鍛煉我們應(yīng)用編程語言的語法規(guī)則和已經(jīng)掌握的一些較為簡單的算法,自己解決一個較簡單的課題,初步積累編程經(jīng)驗。提高學生獨立編寫大編程的能力。
三、 設(shè)計要求
計算機科學是一門研究數(shù)據(jù)表示和數(shù)據(jù)處理的科學。數(shù)據(jù)是計算機化的信息,是計算機可以直接處理的最基本和最重要的對象。無論是進行科學計算,數(shù)據(jù)處理,過程控制,還是對文件的存儲和檢索及數(shù)據(jù)庫技術(shù)的應(yīng)用,都是對數(shù)據(jù)進行加工處理的過程。
希望通過學習掌握程序設(shè)計的方法與編程技術(shù),我們能學會良好的程序設(shè)計風格,為在計算機不同領(lǐng)域的應(yīng)用打下堅實的基礎(chǔ)。希望通過本次的學習,我們能利用計算機解決實際題。與此同時,希望能通過此次的實訓來提高我們的思維能力,促進我們的綜合應(yīng)用能力和我們的專業(yè)素質(zhì)。
二、 任務(wù)描述
實現(xiàn)兩個鏈表的合并
基本功能要求:
1、建立兩個鏈表A和B,鏈表元素的個數(shù)沒別為m和n個。
2、假設(shè)元素分別為(x1,x2,···xm),和(y1,y2,···yn)。把他們合并成一個線性表C,使得:
當m>=n時,C=x1,y1,x2,y2,···xn,yn,···xm
當n>m時,C=y1,x1,y2,x2,···ym,xm,···,yn
輸出線性表C
3、用直接插入排序法對C進行升序排序,生成表D,并輸出表A ,B ,C ,D。
三、 軟件環(huán)境
編輯工具:
Turbo C2.0
功能介紹:
Turbo C2.0是一個快捷、高效的編譯程序,同時還有一個易學、易用的集成開發(fā)環(huán)境。使用Turbo C2.0無需獨立地編輯、編譯和連接程序,就能建立并運行C語言程序。因為這些功能都組合在Turbo 2.0的集成開發(fā)環(huán)境內(nèi),并且可以通過一個簡單的主屏幕使用這些功能。
四、 算法設(shè)計思想及流程圖
一、 算法設(shè)計思想
1、 定義鏈表的結(jié)構(gòu)
[數(shù)據(jù)結(jié)構(gòu)實習報告(共2篇)]
typedef struct
{
int data[maxsize];
int top;
}list;
2、 創(chuàng)建鏈表A,B,C,D,由于這鏈表是自己創(chuàng)立的,我們首先要對他
們進行申請存儲空間,首先我們就定義頭文件#include,用malloc(sizeof())函數(shù)來現(xiàn)實,這是申請鏈表存儲空間的標志.
3、 用指針top的移動來實現(xiàn)對鏈表A,和B進行數(shù)據(jù)的輸入輸出,再
進行鏈表長度的比較,在用直接插入法對A和B中的數(shù)據(jù)查到C中,當m>=n的時候,先插A的元素,再插入B的元素
C->data[C->top]=A->data[j];
j=j+1;
C->top=C->top+1;
C->data[C->top]=B->data[k];
k=k+1;
C->top=C->top+1;
當n>m的時候,先插B的元素,在插入A的元素
C->data[C->top]=B->data[j];
j=j+1;
C->top=C->top+1;
C->data[C->top]=A->data[k];
k=k+1;
C->top=C->top+1;
4、 用冒泡排序法對C中元素進行排序生成表D,由于要進行升序排序,
所以只需比較D->data[j]data[j-1],再輸出D->data[j],移動指針D->top,每進行一次輸出,指針就移動一次D->top+1,直到C中元素都排序完,最后輸出D。
5、
打印鏈表A,B,C,D。
二、 流程圖
下頁
篇二:數(shù)據(jù)結(jié)構(gòu)實習報告
測繪與國土信息工程學院
實驗態(tài)度:
實驗成果:
實驗報告:
《數(shù)據(jù)結(jié)構(gòu)》課程 實驗報告 姓 名:
學 號:
班 級:
成 績:
、認真 2、良好 3、一般 4、不認真 、優(yōu)秀 2、可信 3、一般 4、不真實 、清晰完整 2、比較完整 3、不清晰 ? 教師簽名:111
交報告日期:
20xx年 ?7 月 ?1日
目錄
實驗一 線性表的鏈表實現(xiàn)類的設(shè)計 ................................................................................. 4
實驗二 順序棧的自定義類設(shè)計 ......................................................................................... 8
實驗三 字符串的操作類設(shè)計 ........................................................................................... 12
實驗四 樹和二叉樹的自定義類的設(shè)計 ........................................................................... 19
實驗五 圖的最短路徑算法設(shè)計 ....................................................................................... 22
實驗六 自定義類應(yīng)用綜合設(shè)計 ....................................................................................... 27
實驗一 線性表的鏈表實現(xiàn)類的設(shè)計
一、 需求分析
本次程序設(shè)計要求建立一個以鏈表為儲存方式的線性表,以及實現(xiàn)線性表所需求的各種功能。
對線性表的操作有:
(1)輸入形式為從鍵盤輸入,用戶根據(jù)界面的提示從鍵盤直接輸入所對應(yīng)的數(shù)即可。輸入的值要求為整數(shù)類型,用戶輸入其它類型的數(shù)據(jù)時(例如字符串)會產(chǎn)生不可預測的錯誤。
(2)輸出的界面為DOS窗口,系統(tǒng)按照用戶輸入的數(shù)據(jù)類型,將會把相應(yīng)的輸出結(jié)果顯示到界面上。
(3)程序可以建立一個以鏈表形式儲存的線性表,對線性表可以進行查找、刪除、插入、構(gòu)造、銷毀和獲取鏈表長度的操作。
(4)以L1={0, 5, 9, 10, 12, 12, 17, 20, 24}構(gòu)造鏈表;找
到重復的
[數(shù)據(jù)結(jié)構(gòu)實習報告(共2篇)]
};
class List{
public:
List(){first = new LinkNode;} ? ? ?List(const int x){first = new LinkNode(x);} ? List(List&
L);
~List(){
MakeEmpty();
first;
}
LinkNode* Search(int x);
LinkNode* Locate(int i);
LinkNode* GetHead()const {return first;} ? int GetData(int i);
void DeleteRepeatedElem();
void Input();
void Display();
List&
operator = (List&
L);
private:
LinkNode* first;
};
List::List(List&
L)
{
int val;
LinkNode * srcPtr = L.GetHead();
LinkNode * desPtr = first = new LinkNode;
while(srcPtr->link != NULL){
val = srcPtr->link->data;
desPtr->link = new LinkNode(val);
desPtr = desPtr->link;
srcPtr = srcPtr->link;
}
desPtr->link = NULL;
}
三、 顯示詳細設(shè)計
int main(int argc, char *argv[])
{
List L1;
int d;
L1.Input();
L1.Display();
L1.DeleteRepeatedElem();
下頁
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。