freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)實驗報告1范文模版-資料下載頁

2024-10-20 04:01本頁面
  

【正文】 a[100]。int last。}Sequenlist。//2 折半插入排序的結(jié)構(gòu)體int Partition(SqList amp。L, int low, int high)//1 尋找基準{[0]=[low]。//子表的第一個記錄作基準對象int pivotkey = [low].key。//基準對象關鍵字 while(lowwhile(low= pivotkey)high。[low] = [high]。//小于基準對象的移到區(qū)間的左側(cè)while(low[high] = [low]。//大于基準對象的移到區(qū)間的右側(cè) }[low] = [0]。return low。}void QuickSort(SqList amp。L, int low, int high)//1 快速排序 { //在序列l(wèi)owhigh中遞歸地進行快速排序if(low high){int pivotloc= Partition(L, low, high)。//尋找基準QuickSort(L, low, pivotloc1)。//對左序列同樣遞歸處理QuickSort(L, pivotloc+1, high)。//對右序列同樣遞歸處理} }Sequenlist *Sqlset()//2 輸入要折半插入排序的一組元素{Sequenlist *L。int i。L=(Sequenlist *)malloc(sizeof(Sequenlist))。Llast=0。coutcini。coutcoutif(i0){for(Llast=1。Llastlast++)cinLdata[Llast]。Llast。}return(L)。}middlesort(Sequenlist *L)//2 折半插入排序 { int i,j,low,high,mid。for(i=1。ilast。i++){Ldata[0]=Ldata[i]。low=1。high=i1。while(low{mid=(low+high)/2。if(Ldata[0]data[mid])high=mid1。//插入點在前半?yún)^(qū)elselow=mid+1。//插入點在后半?yún)^(qū)}for(j=i。jhigh+1。j){ Ldata[j]=Ldata[j1]。} //后移Ldata[high+1]=Ldata[0]。//插入 } return 0。}int main(){ gg: coutm。coutif(m==1){ SqList L。int n。coutn。coutcin[i].key。} coutQuickSort(L,1,)。for(int j=1。j{cout}coutcout}if(m==2){Sequenlist *L。int i。L=Sqlset()。coutmiddlesort(L)。coutfor(i=1。ilast。i++){coutdata[i]}coutcoutgoto gg。}if(m==3){exit(0)。cout四、重要函數(shù)功能說明Sequenlist *Sqlset()輸入要折半插入排序的一組元素int Partition(SqList amp。L, int low, int high)尋找快速排序的基準void QuickSort(SqList amp。L, int low, int high)快速排序middlesort(Sequenlist *L)折半插入排序五、程序運行結(jié)果下圖僅為分別排序一次,可多次排序,后面有相關截圖:六、實驗中遇到的問題、解決及體會起初編寫快速排序的程序時,我是完全按照老師PPT上的算法敲上去的,然后建立了一個SqList的結(jié)構(gòu)體,調(diào)試運行時出現(xiàn)錯誤,仔細查看才意識到Partition函數(shù)中L中應該包含元素key,而我建立結(jié)構(gòu)體時沒有注意,然后我將key這個元素補充進去,繼續(xù)調(diào)試,又出現(xiàn)錯誤,提示我Partition沒有定義,我就覺得很奇怪,我明明已經(jīng)寫了函數(shù)定義,為什么會這樣,當我又回過頭來閱讀程序時,我發(fā)現(xiàn)QuickSort函數(shù)中調(diào)用了Partition函數(shù),但是我的Partition函數(shù)的定義在QuickSort函數(shù)的后面,于是我將Partition函數(shù)放到了QuickSort函數(shù)的前面,再次調(diào)試運行,就可以正常運行,得出結(jié)果了。這讓我懂得,編程一定要認真仔細,不可大意馬虎,否則又會花很多時間回過頭來檢查修改程序,得不償失。運行程序錯誤截圖:本來我是編寫了兩個程序,分別實現(xiàn)快速排序和折半插入排序的功能,但我后來想我是否可以將其合二為一,于是我想到用if選擇語句用來實現(xiàn)不同的功能,從鍵盤輸入功能選項m,if(m==1),可以進行快速排序,if(m==2),可以進行折半插入排序,于是我繼續(xù)思考,我是否可以在一次運行程序中,多次對含有不同元素的序列進行排序,于是我用了goto語句,每次排序一次后,自動循環(huán)到選擇語句,當不需要在排序的時候,可以從鍵盤輸入3,退出程序,這樣一來,程序變得更加實用和清晰明朗。這讓我懂得,想要編出好的程序,要善于思考,在實現(xiàn)所需功能的前提下,多想問題,看是否能使程序更加實用簡便。修改程序前兩個運行結(jié)果截圖(兩個程序,調(diào)試運行兩次,每次只能進行一次排序)快速排序程序運行結(jié)果截圖:折半插入排序程序結(jié)果截圖:程序重要模塊修改截圖:修改程序后運行截圖:(一個程序,調(diào)試運行一次,可多次進行不同序列的不同排序)
點擊復制文檔內(nèi)容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1