



付費下載
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
算法實驗報告一、實驗目的給定含有n個元素的多重集合S,每個元素在S中出現的次數稱為該元素的重數。多重數集S中的重數最大的元素稱為眾數。例如,S={1,2,2,2,3,5}。多重集S得眾數是2,其重數為3。對于給定的由n個自然數組成多重數集S,計算S的眾數及其重數。二、實驗環境 Windows7+VisualStudio2010三、實驗內容設計思路利用快速排序將數據集S排序,再遍歷整個數組,利用Number類記錄每個數出現的頻率,從而找出集合的眾數和重數。相關模塊#include<iostream>#include<fstream>usingnamespacestd;//存儲數y與出現頻率classNumber{public: Number(){count=0;} intvalue; intcount;};voidwrite(char*filename,intsize,Number*num);voidmode(int*a,intsize,Number*num);voidquickSort(int*,int,int);intPartition(int*,int,int);intmain(){ intsize=0; intfrequency=0; char*inFileName="H:\\C++\\Algorithms\\in2.txt"; char*outFileName="H:\\C++\\Algorithms\\out2.txt"; ifstreaminput(inFileName,ios::in); //從文件讀取數據 input>>size; int*a=newint[size]; for(inti=0;i<size;++i) input>>a[i]; input.close(); //對數組用快排排序 quickSort(a,0,size-1); Number*num=newNumber[size]; mode(a,size,num); write(outFileName,size,num); system("pause"); return0;}//將眾數與重數寫入文件,如果有多個,則將所有結果依次寫入文件voidwrite(char*filename,intsize,Number*num){ intmax=0; for(inti=1;i<size;++i) if(num[i].count>num[max].count) max=i-1; ofstreamoutput; output.open(filename,ios::out); output<<num[max].value<<"\n"<<num[max].count<<endl; for(inti=0;i<size;++i) if(num[max].count==num[i].count&&max!=i) output<<num[i].value<<"\n"<<num[i].count<<endl; output.close();}//劃分intPartition(int*arr,intp,intr){ inti=p,j=r+1; intx=arr[p]; //sort<xtoleft,>xtoright while(true) { while(arr[++i]<x&&i<r); while(arr[--j]>x); if(i>=j)break; swap(arr[i],arr[j]); } arr[p]=arr[j]; arr[j]=x; returnj;}//快排voidquickSort(int*arr,intp,intr){ if(p<r) { intq=Partition(arr,p,r); quickSort(arr,p,q-1);//sorttheleftpart quickSort(arr,q+1,r);//sorttherightpart }}//找出眾數與重數voidmode(int*a,intsize,Number*num){ intcount=1;//某個數出現的次數//遍歷排好序的數組,計算出每個數出現的次數 for(inti=0;i<size-1;++i) { if(a[i]==a[i+1]) count++; else { num[i].value=a[i]; num[i].count=count; count=1; } } num[size-1].value=a[siz
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 干部網絡培訓總結
- 2022年甘肅核工業職工大學自考英語(二)練習題(附答案解析)
- 河北省邯鄲市廣平縣2024-2025學年八年級下學期6月期末道德與法治試題(含答案)
- 2025年海南省海口市部分學校中考歷史模擬試卷(三)(含答案)
- 2025年建黨104周年黨章知識競賽60題及答案
- 靈龜八法在針灸治療中的運用
- 幼兒園小班社會教案我的家
- 2025年國際貿易與商務管理綜合測試題及答案
- 2025年公共運輸管理與服務考試試題及答案
- 《連鎖門店店長管理實務》課件項目7門店促銷活動管理
- 新疆維吾爾自治區2024年普通高校招生單列類(選考外語)本科二批次投檔情況 (理工)
- 檔案管理員實操能力考試題試題及答案
- 西學中結業考核復習試題含答案
- 2025年工會知識競賽題庫200題及答案(完整版)
- 完整版高中古詩文必背72篇【原文+注音+翻譯】
- 反分裂反滲透教育主題班會
- 2024年甘肅省普通高校招生本科批(C段)歷史類投檔最低分數線
- 2024年福州第十一中學招聘筆試真題
- 【泉州:寒街孤影尋暖意 一抹亮色映霜花】中原地產2024年泉州樓市分析報告正式版
- 小學生反分裂課件
- 外科病房醫院感染防控工作職責
評論
0/150
提交評論