哈爾濱理工大學管理學院資訊系
課程設計
(資料結構)
班級:資訊11-2班
姓名:學號:11060402
2023年6月30日
目錄第一章:設計要求: 2
第二章:設計分析: 3
第三章:演算法的實現 4
第四章:執行結果 6
資料結構課程實踐報告
航班資訊的查詢與探索
現在乘坐飛機旅行的人越來越多,人們要了解各類航班的班次,時間,**及機型等資訊。在招這個飛機航班的資訊模型中,航班號是關鍵字,而且是具有結構特點的一類關鍵字。因為航班號是字母數字混編的,所以這種記錄集合是乙個適合於多關鍵字排序的例子。
該設計時要求對飛機航班資訊進行排序和查詢。可按航班的航班號、起點站、終點站、起飛時間以及到達時間等資訊進行查詢。
對於本設計,可採用基數排序方法對一組具有資料結構的飛機航班號進行排序,利用二分查詢的方法對排好序的航班記錄按航班號實現快速查詢,按其他次關鍵字的查詢可採用最簡單的順序查詢方法進行,因為它們用的較少。
每個航班記錄包含八項,分別是:航班號、起點站、終點站、航班期、起飛時間、到達時間、機型以及票價,假設航班資訊表如下:
其中航班號一項的格式為:
其中k0和k1的輸入值是航空公司的別稱,用兩大大寫字母表示,後4位為航班編號,可將這種航班號關鍵字分兩段,即字母和數字。其餘7項輸入內容,除了票價為數值型外,均定義為字串型即可。
1定義資料型別
根據設計要求,設計中所用到的資料記錄只有航班資訊,因此要定義相關的資料型別:
typedef structinfotype;
typedef structslnode;
typedef structsllist;
為了進行基數排序,需要定義在分配和收集炒作時用到的指標陣列:
typedef int arrtype_n[10];
typedef int arrtype_c[26];
2實現排序的各函式說明
(1)一趟分配函式說明:
void distribute (slnode *sl,int i,arrtype_n f,arrtype_n e)
(2)一趟收集函式說明:
void collect(slnode *sl,int i,arrtype_n f,arrtype_n e)
(3)鏈式基數排序函式說明:
void radixsort(sllist &l)
(4)二分查詢函式說明:
int binsearch(sllist l,keytype key)
(5)主控函式說明:
void main()
1一趟字母字元分配函式
void distribute_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
for(p=sl[0].next;p!=0;p=sl[p].next)
}sl[t].next=0;
3鏈式基數排序函式
sllist radixsort(sllist l)
for(i=1;i>=0;i--)
return l;
} sllist arrange(sllist l)
p=q;
}return l;
}//arrange
4二分查詢函式
int binsearch(sllist l,keytype key)
return 0;
}//binsearch
測試主控函式:
#include "type8.h"
#include " jspx.c"
#include "rearch.c"
#include " 「inout.c"
void main()
1航班資訊輸入
編譯執行後,首先進行系統初始化,然後輸入子系統,
顯示:航班號起點站終點站航班期起飛時間到達時間機型票價
ca1544 合肥北京 1245 10:55 12:40 733 960(回車)
提示:繼續輸入嗎?y/n: y
顯示:航班號起點站終點站航班期起飛時間到達時間機型票價
mu5341 上海廣州每日14:20 16:15 m90 1280
提示:繼續輸入嗎?y/n: y
顯示:航班號起點站終點站航班期起飛時間到達時間機型票價
cz3869 重慶深圳 246 08:55 10:35 733 1010
如此反覆,一直到輸出8次紀錄。
提示:繼續輸入嗎?y/n: n
當輸出結束後系統自動退出子系統,對輸入航班資訊進行鏈式技術排序,排序完成後自動進入下一步。
2航班資訊查詢
進入查詢子系統後,立即顯示如下選單:
* 航班資訊查詢系統 *
* 1.航班號
資料結構課程設計 航班資訊查詢與檢索系統
一 設計題目 設計乙個航班資訊查詢與檢索系統。二 基本要求 1 每個航班記錄包括八項 航班號 起始站 終點站 班期 起飛時間 到達時間 飛機型號 票價。2 要有輸入模組 3 對航班資訊進行排序與查詢。三 執行環境 cpu 奔騰3 作業系統 windows 98 程式設計工具 tc2.0。四 演算法設...
《資料結構》課程實踐教學
摘要 資料結構 是計算機專業一門重要的專業基礎課程,本文就 資料結構 課程實踐教學中存在的問題進行了細緻的分析,提出了對該課程的實踐教學進行改革的建議,介紹了在課程設計環節的具體做法,以提高該課程的教學效果,增強學生的實踐能力。關鍵詞 資料結構實踐教學課程設計 1.引言 資料結構 是計算機學科的核心...
資料結構課程實習報告
課程名稱 指導老師 學生姓名 班級學號 實習題一 1.需求規格說明 問題描述 大數運算 計算n的階乘 n大於等於20 基本要求 資料的表示和儲存 累積運算的中間結果和最終的計算結果的資料型別要求是整型,試設計合適的儲存結構,要求每個元素或結點最多儲存資料的 3 位數值。資料的操作及其實現 基於設計的...