資料結構課程實踐報告航班資訊查詢安排

2021-03-14 10:42:22 字數 2450 閱讀 9011

哈爾濱理工大學管理學院資訊系

課程設計

(資料結構)

班級:資訊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 位數值。資料的操作及其實現 基於設計的...