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

正文內容

數據結構課程設計(23606)(編輯修改稿)

2025-07-22 07:23 本頁面
 

【文章內容簡介】 data_array[j]=temp。 }}(6) 插入排序:void charu(){ int i,j。 int temp。 printf(插入排序:\n)。 for(i=1。i=data_num。i++) { int temp=data_array[i]。 for (j=i。j0 amp。amp。 tempdata_array[j1]。j) { data_array[j]=data_array[j1]。 } data_array[j]=temp。 } if(!t) outnew0()。 else outnew1()。}(7) 快速排序:void kuaisu1()//快速排序1{ printf(快速排序:\n)。 sort(data_array+1,data_array+data_num+1)。 if(!t) outnew0()。 else outnew1()。} 主程序產生1組隨機數將隨機數保存在數組中希爾排序堆排序冒泡排序選擇排序插入排序歸并排序快速排序選擇排序方式輸出無序數組排序后的結果選擇操作方式4. 結果與結論 正確結果1. 主界面 人機交互2. 輸入界面3. 選擇排序方式4. 輸出結果5. 退出界面5. 算法復雜度以及穩(wěn)定性分析下圖反映了不同算法排序的時間復雜度的級別及其空間復雜度和穩(wěn)定性。算法名稱平均時間輔助空間穩(wěn)定性冒泡排序O(n2)O(1)是選擇排序O(n2)O(1)否插入排序O(n2)O(1)是歸并排序O(nlog2n)O(n)是快速排序O(nlog2n)O(n)否堆排序O(nlog2n)O(1)否希爾排序\O(1)否下圖表明了各種算法在不同數據規(guī)模下,完成排序所消耗的時間(毫秒為單位),從表中可以顯然看出O(n2)的排序算法比O(nlog2n)的算法 時間多出幾百上千倍,而且隨著數據數據規(guī)模增大時間比也會隨著增大;因為排序的數據采用隨機數,順序將被打亂,快速排序算法優(yōu)于其他排序算法。算法名稱1萬2萬3萬4萬5萬6萬7萬8萬9萬10萬冒泡排序14425497122062186134017491486739488880111939139071選擇排序19981617903254506271669645126361610219643插入排序17871716282882445864468822116491454717914歸并排序36912151822262833快速排序25811141821252932堆排序371216192326303437希爾排序3811152424293540416. 收獲與致謝通過這次課程設計作業(yè)我著實感受了一次編程的樂趣,從中學到了不少知識, 雖然都說“程序=數據結構+算法”,但我們在學習運用數據結構編程之前,并沒能深刻體會到這一點,直到這次課設實踐。 我們感受最深的一點是:以前用C編程,只是注重如何編寫函數能夠完成所需要的功能,似乎沒有明確的戰(zhàn)術,只是憑單純的意識和簡單的語句來堆砌出一段程序。但現在編程感覺完全不同了。在編寫一個程序之前,自己能夠綜合考慮各種因素,首先選取自己需要的數據結構,然后選定一種或幾種存儲結構來具體的決定后面的函數的主要風格。最后在編寫每一個函數之前,可以仔細斟酌比對,挑選出最適合當前狀況的算法。這樣,即使在完整的還沒有寫出來之前,自己心中已經有了明確的原圖了。這樣無形中就提高了自己編寫的程序的質量。我們還體會到深刻理解數據結構的重要性。只有真正理解定義數據類型的好處,才能用好這樣一種數據結構。了解典型數據結構的性質是非常有用的,它往往是編寫程序的關鍵。這次實驗中我們也出現過一些錯誤。但我們經過反復調試后,發(fā)現并做了修改,從而完成了此次課程設計。 在這次的數據結構課程設計中,我此次的題目是各種排序,排序實際上是編程設計中應用比較廣泛的知識,通過本次設計,我對一些基本的內部排序有了很好的理解和掌握,并且通過此次課程設計中的程序運行結果很好的理解了排序各種算法的穩(wěn)定性和時間復雜度,既鞏固了課堂上學到的排序理論,又為自己的編程增強了實踐。總之,在這次的數據結構課程設計中,收獲還是蠻多的。也讓自己對數據結構這門課程有了更好的認識,相信在越來越多的嘗試之后,自己會不斷進步不斷提高的。7. 參考文獻1.《數據結構(C語言版)》 嚴蔚敏 清華大學出版社2.《C語言程序設計》 丁峻嶺 中國鐵道出版社3.《C程序設計》 譚浩強 清華大學出版社8. 附件程序源代碼:includecstdioincludealgorithmincludeiostreamincludecmathincludecstringincludestringincludestackincludemapincludectimeincludequeueincludevectorincludesetincludecstdlibusing namespace std。const int N=1000010。int data_num,data_array[N],data_arrayy[N]。int old[N],a[N],t。//數據輸入int input_num(){ printf(您要給多少個數排序?\n\t\t)。 scanf(%d,amp。data_num)。 srand(NULL)。 printf(隨機產生%d個數:\n\t\t,data_num)。 for(int i=1。i=data_num。i++) { data_array[i]=rand()%10000000。 printf(%d\n,data_array[i])。 old[i]=data_array[i]。 printf(\n\t\t)。 }}//排序后數據輸出 從大到小 data_num 1int outnew0(){ printf(排序后的結果為:)。 for(int i=data_num。i=1。i) printf(%d%s,data_array[i],i!=1? :\n)。}//排序后逆序數據輸出 從小到大 1 data_numint outnew1(){ printf(排序后的結果為:)。 for(int i=1。i=data_num。i++) printf(%d%s,data_array[i],i!=data_num? :\n)。}//排序后數據輸出 從大到小 data_num1 0int outnew2(){ printf(排序后的結果為:)。 for(int i=data_num1。i=0。i) printf(%d%s,data_arrayy[i],i!=0? :\n)。}//排序后逆序數據輸出 從小到大 0 data_num1int outnew3(){ printf(排序后的結果為:)。 for(int i=0。idata_num。i++) printf(%d%s,data_arrayy[i],i!=data_num1? :\n)。}//插入排序void charu(){ int i,j。 int temp。 printf(插入排序:\n)。 for(i=1。i=data_num。i++) { int temp=data_array[i]。
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1