下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《數(shù)據(jù)結構》實驗指導
實驗八:查找方法的實現(xiàn)
一、實驗目的
1、掌握查找的基本概念。
2、掌握線性表的查找方法。
3、掌握樹表的查找方法。
4、了解哈希表的查找方法
二'實驗學時
2學時
三'實驗類型
綜合性實驗
四、實驗需求
1、硬件
每位學生配備計算機一臺;
2、軟件
WindowsXP/Windows7操作系統(tǒng);開發(fā)工具軟件:MicrosoftVisualStudio2010。
五'實驗理論與預備知識
1、查找的基本概念。
2、線性表的查找方法。
3、樹表的查找方法。
4、哈希表的查找方法
六'實驗任務
1、順序查找和折半查找的代碼實現(xiàn)
2、編寫應用程序,用相關數(shù)據(jù)驗證運算算法
七'實驗內(nèi)容及步驟
任務:代碼實現(xiàn)順序表的創(chuàng)建、顯示、查找;編寫應用程序,用相關數(shù)據(jù)驗證運算算法。
實驗步驟:
(1)啟動VisualStudio2010,創(chuàng)建窗體應用程序。
(2)創(chuàng)建順序表的存儲結構,包括創(chuàng)建、顯示、查找等方法,代碼參考如下:
structRecType〃記錄類型
publicintkey;〃存放關鍵字
publicstringdata;〃存放其他數(shù)據(jù)
)
classSqListSearchClass
(
constintMaxSize=100;〃順序表中最多元素個數(shù)
publicRecType[]R;〃順序表
publicintlength;〃存放順序表的長度
stringsstr;〃用于返回結果
publicSqListSearchClass()〃構造函數(shù),用于順序表的初始化
(
R=newRecType[MaxSize];
length=0;
)
//...........順序表的基本運算算法
publicvoidCreateList(string[]split)〃由split中的元素建立順序表
inti;
for(i=0;i<split.Length;i++)
R[i].key=Convert.ToInt32(split[i]);
length=i;
publicstringDispList()〃將順序表L中的所有元素構成一個字符串返回
(
inti;
if(length>0)
(
stringmystr=R[0].key.ToString();
for(i=1;i<length;i++)〃掃描順序表中各元素值
mystr+=""+R[i].key.ToString();
returnmystr;
elsereturn"空串
)
//.............各種查找算法.......
publicintSeqSearch(intk,refintcn)〃順序查找算法
{
inti=0;
cn=0;〃統(tǒng)計關鍵字比較次數(shù)
while(i<length&&R[i].key!=k)〃從表頭往后找
(
cn++;
i++;
)
if(i>=length)〃未找到返回0
return0;
else
{
cn++;
returni+1;〃找到返回邏輯序號i+1
(3)通過一串整數(shù)的輸入,創(chuàng)建數(shù)據(jù)元素為整數(shù)的順序表,顯示順序表,實現(xiàn)查找操作。
設計界面,參考如下:
9Fond□0B
操作步豢”建立感序表
洽入關催字序列:
2,6,749,1,5,3,8,0
建立順序表
例如給入:3,8,2,4.最多不超過100個元素
操作步驟2-輸出J*序表
輸出順序表2674915380
操作步驟3-查找最大元素和最小元素
查找最大元素:9最小元素:0
操作步驟3-查找指定元素是否存在
查找元素:7查找
該元素為順序表中的第3個元素,比較了3次.
(4)編寫窗體中按鈕等控件的代碼,調(diào)用循環(huán)順序隊列類,參考如下:
SqListSearchClassL=newSqListSearchClass();
privatevoidForml_Load(objectsender,EventArgse)
(
textBoxl.Text="2,6,7,4,9J,5,3,8,0”;
)
privatevoidbuttonl_Click(objectsender,EventArgse)
{
stringstr=textBoxl.Text.Trim。;
if(str==
infolabel.Text="操作提示:必須輸入關鍵字序列”;
else
{
string[]split=str.Split(\');
L.CreateList(split);
if(L.length<=3)
infolabel.Text=”操作提示:輸入的關鍵字個數(shù)太少”;
return;
}
)
}
privatevoidbutton2_Click(objectsender,EventArgse)
(
textBoxl.Text=L.DispListO;
infolabel.Text=”操作提示:待查找的數(shù)據(jù)顯示完畢”;
)
privatevoidbutton3_Click(objectsender,EventArgse)〃求順序表中的最大值
和最小值
(
)
privatevoidbutton4_Click(objectsender,EventArgse)
(
intnum=int.Parse(textBox6.Text);
inta=0;
intp=L.SeqSearch(num,refa);
if(p==0)
infolabel.Text="進行了"+a+”比較,該元素不存在!]
else
infolabel.Text="該元素為順序表中的第“+p+”個元素,比較了“+a+”次。
??.
)
(5)調(diào)試運行,并觀察運行情況。
(6)在類中增加查找最大值最小值的方法:publicvoidM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 打瓜取籽機課程設計
- 大班生成活動課程設計
- 幼兒園摘桑葚課程設計
- 幼兒視覺訓練課程設計
- 換熱器的課程設計小結
- 微課程設計與制作美術
- 多道批系統(tǒng)課課程設計
- 學習張桂梅事跡心得體會
- 成長記憶課程設計
- 2024-2030年中國永磁電機市場現(xiàn)狀分析及前景趨勢預測報告
- 有限空間消防水箱應急預案
- 江西省三新協(xié)同教研共同體2023-2024學年高一上學期12月聯(lián)考物理試卷(解析版)
- 籃球原地單手肩上投籃 教案(表格式)
- 2021-2022學年廣東省廣州市天河區(qū)八年級(上)期末英語試卷
- 慶祝澳門回歸24周年主題班會
- 特種設備使用單位日管控、周排查、月調(diào)度示范表
- 三角函數(shù)歷史與發(fā)展
- 形式邏輯新解智慧樹知到課后章節(jié)答案2023年下上海財經(jīng)大學
- 系統(tǒng)集成項目總體服務方案
- 現(xiàn)代酒店管理智慧樹知到課后章節(jié)答案2023年下海南工商職業(yè)學院
- 笛卡爾環(huán)線性化技術的基本原理
評論
0/150
提交評論