多種排序算法動態演示軟件的設計與開發論文_第1頁
多種排序算法動態演示軟件的設計與開發論文_第2頁
多種排序算法動態演示軟件的設計與開發論文_第3頁
多種排序算法動態演示軟件的設計與開發論文_第4頁
多種排序算法動態演示軟件的設計與開發論文_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、多種排序算法動態演示軟件的設計與開發摘要隨著計算機科學技術的不斷提高和發展,其強大的運算功能已經逐漸融入 人類社會的各個領域,并且在各個領域中發揮越來越重要的作用。當然,高效 的運算速度并不代表無限快,在有限的資源空間里,要大大提高運算處理數據 的速率,就需要我們使用那些在時間和空間上體現出高效的算法。本系統是為 了演示在同一問題上,不同的算法在效率上存在的巨大差異。本系統采用Visual C+ 6.0中文版為開發工具,實現三種不同排序算法,即:冒泡排序算法、選 擇排序算法和快速排序算法,以及這三種排序對同一問題的處理并且以圖形的 形式給出快慢比較,實現排序算法的動態演示。其目的是為了讓我們在

2、使用計 算機處理規模越來越大的數據問題上,能夠清楚什么樣的算法適合當前的處理 系統。關鍵詞:Visual C+ ;排序算法;動態演示The Design and Development of Dynamic SortingAlgorithm DemoAbstractWith computer scie nee and tech no logy improveme nt and developme nt, its powerful computing has gradually integrate into human society in various fields, and play an

3、 increasingly important role. Of course, efficient computational speed does not mean unlimited fast, and the limited resources of space, Operators must sig nifica ntly improve process ing speed, we n eed to use the time and space reflects efficie nt algorithms. The system is to dem on strate on the

4、same issues in differe nt algorithm efficiency in the enormous differenee. The system uses Visual C +6.0 for the development of the Chinese version of tools to achieve three different sorting algorithms, namely : The Bubble Sorting Algorithm, The Select Sorting Algorithm and The Quick Sorting Algori

5、thm, and three ranking on the same issue to deal with and the graphics are presented in the form of speed, Sorting Algorithm to achieve the dyn amic prese ntati on .Its purpose is that en able us to use computers to han dle the increasingly large scale data problems, to know what kind of algorithm i

6、s suitable for the curre nt system.Key words: Visual C + ; Sort ing Algorithm; Dyn amic Dem on strati on目錄論文總頁數:21頁 TOC o 1-5 h z 弓I言 1 HYPERLINK l bookmark8 o Current Document 系統背景 1 HYPERLINK l bookmark10 o Current Document 系統開發的意義 1 HYPERLINK l bookmark12 o Current Document 系統開發的相關技術 1 HYPERLINK

7、l bookmark14 o Current Document 系統開發的相關概念 1 HYPERLINK l bookmark16 o Current Document 系統需求及分析 2 HYPERLINK l bookmark18 o Current Document 系統需求 2 HYPERLINK l bookmark20 o Current Document 系統開發環境選擇 2 HYPERLINK l bookmark22 o Current Document 系統的總體規劃 2 HYPERLINK l bookmark24 o Current Document 系統設計思想 2

8、 HYPERLINK l bookmark26 o Current Document 冒泡算法及思想 2 HYPERLINK l bookmark34 o Current Document 選擇算法及思想 4 HYPERLINK l bookmark40 o Current Document 快速算法及思想 5 HYPERLINK l bookmark42 o Current Document 詳細設計 8 HYPERLINK l bookmark44 o Current Document 系統的文件的組織 8 HYPERLINK l bookmark46 o Current Document

9、 動態演示冒泡算法模塊設計 8 HYPERLINK l bookmark48 o Current Document 動態演示選擇算法模塊設計 11 HYPERLINK l bookmark50 o Current Document 動態演示快速算法模塊設計 13 HYPERLINK l bookmark52 o Current Document 同時比較三種算法模塊設計 16 HYPERLINK l bookmark54 o Current Document 系統的測試 16 HYPERLINK l bookmark66 o Current Document 系統的特點 18 HYPERLIN

10、K l bookmark68 o Current Document 結論 19 HYPERLINK l bookmark70 o Current Document 參考文獻 19 HYPERLINK l bookmark72 o Current Document 致謝 20 HYPERLINK l bookmark74 o Current Document 聲明 21第 頁共21頁1 引言1.1系統背景由于排序在計算機圖形、計算機輔助設計、機器人、模式識別、基因排序 工程及統計學等領域具有廣泛應用,所以對排序的研究既有理論上的重要意義, 又有實際應用價值。再加上現在信息產業的迅速發展,信息的流

11、通量越來越大, 如此龐大并且雜亂無章的信息數據十分難以管理和查詢,就更加需要一種十分 快捷而有效的編排手段來整理這些數據信息,讓我們的工作效率得以提高。1.2系統開發的意義在現代信息發達的今天,面對接受到大量的無序的信息,沒有一個規則來 編排和查詢,會給我們的工作和信息交流帶來十分的不便。因此,利用計算機 的高速運用和計算能力,編寫出一種合適的排序軟件,能十分快捷的給我們在 信息交流和查詢帶來便利。例如在互聯網上為了使人們能夠快速的訪問和檢索 大量的信息,人們會運用許多快速并且優秀的算法對這些數據進行管理和操縱。 優秀的算法還能幫助我們在互聯網上快速找到最好的發送數據路線,以及怎么 用搜索引擎

12、來快速地找到信息所在的頁面。1.3系統開發的相關技術本系統利用Visual C+ 6.0 作為開發平臺,利用它的可視化界面,在其 MFC環境下開發的一個演示三種不同排序算法,利用畫刷畫出三種不同的排序 算法在排列隨即產生的0-70個數的過程,并且能夠對比這三種排序算法在相同 的條件下,排序速率的快慢。運用 VC編程語言,把一個程序中的算法和程序框 架有效的結合起來,并且實現排序算法的動態演示。1.4系統開發的相關概念首先我們要了解排序到底是什么?它的主要功能和目的是什么?簡單的 說,排序是利用一種算法,將一個無規則的序列排成一個有序序列的過程。而 算法則是以一組值或者一個值的集合作為輸入,經過

13、一系列計算得到的一組值 作為輸出的過程,即是指那一系列將輸入轉化為輸出的計算過程。排序的方法有很多種,但是沒有一種排序算法是通用的,即在任何情況下 都能保持最快的排序速度。因此我們必須根據需要處理數據的特點來選擇合適 的算法。在排序的過程中,我們一般需要用到的兩個基本操作步驟是:比較兩 個關鍵字的大小和將記錄從一個位子移至另一個位子,即比較和交換。本系統 設定的情況為,記錄關鍵字都為整數,排序的結果是從大到小的排列,用到的 三種排序算法為:冒泡排序法、選擇排序法、快速排序法。2系統需求及分析2.1系統需求本系統的硬件環境:CPU AMD 2800+內存512M以上,硬盤80G以上。 本系統的軟

14、件環境:操作系統 Win dows XP,Visual C+ 6.0 中文版。2.2系統開發環境選擇本系統運用的是Visual C+6.0中文版,它是微軟公司開發出的一種集成 開發環境,它擁有良好的可視化界面,它用來在Windows環境下開發應用程序, 是一種功能強大、行之有效的可視化編程工具。在Visual C+6.0中能夠進行多種操作,它的特點就是能夠把原來抽象的數字、表格、功能邏輯等用直觀的 圖形、圖象的形式表現出來。排序算法本來就是一種抽象的邏輯功能,想要直 觀的把它演示出來,選擇利用 Visual C+6.0的可視化編程是非常明智的。而 且本系統在開發過程中,能夠用鼠標點擊按鈕和拖放

15、圖形化的對象,修改他們 的屬性和行為過程。這種可視化的編程方法簡單、易學、易用,可以大大提高 我們的工作效率。2.3系統的總體規劃本系統的總體結構如圖2-1所示:圖2-1系統總體結構3系統設計思想3.1冒泡算法及思想冒泡排序算法的基本思想:冒泡法的原理很簡單,基本思想就是比較相臨 的兩個記錄的關鍵字,若前者比后者小則交換,若前者比后者大則保持不變。 先將第一個記錄與第二個記錄比較,然后是第二個與第三個比較,直到倒數第 二個與最后一個記錄。比較一輪結束之后,關鍵字大的記錄均向前移動。然后 開始新一輪的比較,知道一輪比較下來,不再有記錄的交換發生為止。整個過程就有點象水中的氣泡上升的過程,輕的往上

16、浮,重的向下沉,這個算法的名 字也就由此得來。算法的步驟如下:(1)假設要排序的數列為 A1 , AN,我們把相鄰的兩個數兩兩進行比較。即把A1和A2比較,對比完后把A2和A3進行比較,”直到 AN-1 和AN比較完為止。在相鄰的兩個數兩兩進行比較的過程中,如果前面的一個 數比后面一個數大,則把這兩鄰的兩個數交換,也就是說,我們把較小的數放 在前面,把較大的數調到后面。即,如果在一次比較中,如果A1比A2大的情況下,把A1和A2交換,”以此類推,直到一輪AN-1和AN比較完。(2)再次重復(1),直到相鄰兩數之間不再發生交換為止。例如:一組待排序數列為:E E E E E E圖3-1待排序組根

17、據算法思路(1)第一次對比后無變化;A2=8 A3=5, 所以兩根據算法思路(1)第二次對比發生變化:由于者交換58圖3-2第一次交換根據算法思路(1)第三次對比發生變化:由于A3=8 A4=4, 所以兩者交換圖3-3第二次交換根據算法思路(1)第四次對比無變化;根據算法思路(1)第五次對比發生變化:由于 A 5=9 A6=7 ,所有兩 者交換叵叵E叵FJ圖3-4第三次交換到此第一輪的排序結束,根據算法思路(2),重新對以交換排列后的數列進行排序直到沒有變化為止,生成最后的序列:E E E E E E圖3-5最后有序序列分析冒泡排序法的效率,若記錄一開始就是從大到小排列,則一次循環就 能完成排

18、序;若記錄是“逆序”排列的,即是沖小到大的排列,則需n-1次循環(n為需要排序的記錄總數),共n(n-1)/2次比較和交換。算法的負責度為03.2選擇算法及思想選擇排序算法的基本思想:每一趟(例如第i趟,i = 0, 1, ,n-2)在后面n-i個待排序對象中選出關鍵碼最小的對象,作為有序對象序列的第i個對象。待到第n-2趟作完,待排序對象只剩下1個,就不用再選了。我們選擇一種把最小的數放在第一個位置上的選擇排序算法,其思想是先 并不急于調換位置,先從第一個數開始逐個向后掃描整個序列,看哪個數最小 就記下該數所在的位置,等一趟掃描完畢,再把第一個數和在他后面最小對調, 這時此無序序列中最小的數

19、據就換到了最前面的位置。算法的步驟如下:、先從A1開始向后檢查,檢查出在 A1后面的最小數的位子,我 們設此位子為AP。、依次把AP和AN (AN從1變化到N)進行比較,每次比較時,若AN的數比AP中的數小,則把N的值賦給P,使P總是指向當前所掃描過 的最小數的位置,也就是說 AP總是等于所有掃描過的數最小的那個數。在依 次比較后,P就指向N個數中最小的數所在位置,即 AP就是N個數中最小的那個數;、把AP和A1的數對調,那么最小的數就在 A1中去了,也就是 在最前面了。、重復此算法,但每重復一次,進行比較的數列范圍就向后移動一個 位置。即第二遍比較時范圍就從第 2個數一直到第N個數,在此范圍

20、內找最小 的數的位置P,然后把AP與A2對調,這樣從第2個數開始到第N個數中最 小數就在A2中了,第三遍就從第3個數到第N個數中去找最小的數,再把AP 與A3對調,此過程重復 N-1次后,就把A數組中N個數按從小到大的順序 排好了。例如,一組待排數據為:E E E E E E圖3-6待排序列根據選擇排序算法思路(1),從A1=6向后檢查,發現最小的數為A4=4 ; 根據選擇排序算法思路(2),把A1和A4進行比較,得出:A1=6 A4=4,所以把A4和A1對調,得到新的序列:4856圖3-7第一次交換根據選擇排序算法思路(3):即從A2=8向后檢查,從 A3-A6從找到最小的數 A3=5,把A

21、2=8 和A3=5進行比較,得出:A2=8 A3=5 ,所以把A2和A3對調0 0 0 0 0 0圖3-8第二次交換重復選擇排序算法思路(4),直到上面的排序工作不再有交換為止,得到最后序列為:叵叵叵E叵叵圖3-9最終序列分析選擇排序算法效率,它實現的方式是:令 i從1到n-1,進行n-1次 選擇操作。在選擇排序算法的過程中,所需進行記錄移動的造作次數比較少, 但是,無論記錄的初始排列如何,所需進行記錄關鍵字間的比較次數均為 n(n-1)/2。因此選擇排序算法的復雜度為 0(n x n).3.3快速算法及思想快速排序算法的基本思想:采用分而治之的辦法對一個表進行排序,任取 待排序對象序列中的某

22、個對象(例如取第一個對象)作為基準,按照該對象的 關鍵碼大小,將整個對象序列劃分為左右兩個子表 low和high :(1)左側子序列low中所有對象的關鍵碼都小于或等于基準對象的關鍵 碼;(2)右側子序列high中所有對象的關鍵碼都大于或等于基準對象的關鍵 碼。基準對象則排在這兩個子序列中間。然后再按此方法對low和high兩部分 數據分別進行快速排序,其整個過程可以遞歸進行,從而使整個數列變成有序 序列。假設要排序的數列為A1 ,AN,我們首先要取一個數據作為關鍵數據,一般情況下都是取第一個數據為關鍵數據。然后將所有小于它的數據放在它前 面,所有大于它的數放在它后面,這個過程就稱為一趟快速排

23、序。算法的步驟 如下:(1) 、設置兩個變量int=i ,j,在排序開始的時候,i=1,j=N ;(2)、以第一個數據為關鍵數據,定義為 key,即key=A1;(3) 、從變量j向前搜索,即由右至左的搜索(j:=j-1),找到小于key的 數據,兩者交換;(4) 、從變量i向后搜索,即由左至右的搜索(i:=i+1),找到大于key的 數據,兩者交換;(5)、重復排序步驟(3)和(4),直到i=j 0例如,一組待排序數據為:(設初始關鍵數據:key=50)| 50| 39| 66| 98| 76| 14| 28圖3-10待排序列根據步驟(3)進行第一次交換后:(關鍵數據key=50和28發生交

24、換,此時j=6 ) 根據步驟(4)進行第二次交換后:圖3-12第二次交換(關鍵數據key=50和66發生交換,此時i=4 )根據步驟(5)將又一次執行算法(3)進行第三次交換:圖3-13第三次交換(關鍵數據key=50和14發生交換,此時j=5)根據步驟(5)又將執行一次算法(4)進行第四次交換:圖3-14第四次交換(關鍵數據key=50和98發生交換,此時i=5 )此時我們可以看見j=i ,所以此時結束此趟快速排序。在經過這趟快速排 序后的結果是:圖3-15第五次交換即所有大于初始關鍵數據“ 50”的數據全在其右邊,所有小于初始關鍵數 據“50”的數據全部在其左邊。以“ 50”為數軸,把原序

25、列分成了兩子序列, 即:low28 39 14,high76 98 66,再遞歸的方法分別對前子表low和后子表high進行類似的快速排序,從而完成所有數據序列的快速排序,最后把原來這個無序的數據序列排列成為一組有序的序列:分析快速排序算法的效率,如果每次劃分對一個對象定位后,該對象的左 側子序列與右側子序列的長度相同,則下一步將是對兩個長度減半的子序列進 行排序,這是最理想的情況。在n個元素的序列中,對一個對象定位所需時間為0(n)。若設t(n)是對n個兀素的序列進行排序所需的時間,而且每次對一個對象正確定位后,正好把序列劃分為長度相等的兩個子序列,此時,總的計算時間為:T( n) cn +

26、 2 t(n/2 )/ c 是一個常數Cn + 2 ( cn/2 + 2t( n/4) ) = 2cn + 4t( n/4)2cn + 4 ( cn/4 +2t( n/8) ) = 3cn + 8t( n/8)J J JCn Iog2n + nt(1) = o(n Iog2n )因此該算法的算法復雜度為0(n Iog2n )4詳細設計4.1系統的文件的組織本系統所含文件的組織如圖4-1所示:圖4-1文件的組織4.2動態演示冒泡算法模塊設計首先,本系統是在 Visual C+ 6.0 中文版下MFC環境下,設置的“ MFCAppWizard(exe) ”工程,工程名為:“tt ”。相關的ID如表

27、4_1,4_2所示表4-1為工程添加IDR MAINFRAM的菜單選項ID說明文字功能描述IDC_SORT_BUBBLE冒泡法排序冒泡法排序表4-2打開類向導(Class Wizard )對話框向視圖類添加響應函數Object IDMessagesMessages的描述函數名IDC_SORT_BUBBLECOMMAND選擇該菜單OnSortBubble表4-3通過類查看(ClassView )選項卡,向視圖類添加成員變量變量類型變量名功能描述intm_SortBubbleN記錄關鍵字CRectm_SortBubbleRect動態演示矩形范圍BOOLIsSortBubbleTRUE表示進行冒泡排

28、序打開ttView.h頭文件,在文件開始部分定義兩個常量:設定排序的記錄次數每次交換操作所耗每次比較操作所耗的時間 TOC o 1-5 h z #defi ne N 70II#defi ne DELAY 3II#defi ne DELAY1 1II并在其下聲明冒泡排序的全局函數:UINT ThreadSortBubble(LPVOID Ip);由于開啟多線程時,使用的都是全局函數,想要獲得當前視圖類中的數據, 并實時更新試圖的顯示,就必須獲取當前試圖對象。所以本系統要定義一個全 局指針,打開ttView.cpp構建函數中加入語句“ CTtView *pView ”用來獲取當 前視圖。然后,系統

29、在ttView.cpp 構建文件中添加實現冒泡排序算法的函數:ThreadSortBubble,代碼為:UINT ThreadSortBubbIe(LPVOID Ip) int * data;int i,j,key;int tag;data=pView-m_SortBubbIe; for(i=0;ii;j-)if(datajdataj-1)key=dataj; dataj=dataj-1; dataj-1=key;Sleep(DELAY);pView-l nv alidate(TRUE); tag+;Sleep(DELAY1);if(tag=0) break;pView-l nv alidat

30、e(TRUE);return 0;在類中查看(Class View)選項,打開視圖類CTtView,在其中修改構 建函數,實現變量初始化:CTtView:CTtView()int i;sran d( un sig ned)time(NULL);for(i=0;iN;i+)m_SortBubblei =0;pView=this;IsSortBubble=FALSE;為了讓大家看清楚排序之間對比和交換的過程,修改響應函數 OnSortBubble ” ,產生0-70隨即整數來進行排序:void CTtView:O nSortBubble()for(int i=0;iTextOut(250,200,

31、冒泡排序演示);/ for(i=0;iFillRect(&m _SortBubbleRect,&BlueBrush); _BlueBrush.DeleteObject();4.3動態演示選擇算法模塊設計表4-4為工程添加IDR MAINFRAM的菜單選項ID說明文字功能描述IDC_SORT_SELECT選擇法排序選擇法排序表4-5打開類向導(Class Wizard )對話框向視圖類添加響應函數Object IDMessagesMessages的描述函數名IDC_SORT_SELECTCOMMAND選擇該菜單OnSortSelect表4-6通過類查看(ClassView )選項卡,向視圖類添加

32、成員變量變量類型變量名功能描述intm_SortSelectN記錄關鍵字CRectm_SortSelectRect動態演示矩形范圍BOOLIsSortSelectTRUE表示進行選擇排序在TtView.h頭文件,聲明選擇排序的全局函數:UINT ThreadSortSelect(LPVOID lp);然后,在TtView.cpp構建文件中添加實現選擇排序算法的函數:ThreadSortSelect,代碼為:UINT ThreadSortSelect(LPVOID lp)int i,j,key,tmp;int *data;data=pView-m_SortSelect;for(i=0;iN-1;

33、i+) key=i;for(j=i+1;jdatakey)key=j;pView-l nv alidate(TRUE);Sleep(DELAY1);Sleep(DELAY);tmp=datai;datai=datakey;datakey=tmp;Sleep(DELAY);pView-l nvalidate(TRUE);return 0;在類中查看(Class View)選項,打開視圖類CTtView,在其中修改構 建函數,實現變量初始化:CTtView:CTtView()int i;sran d( un sig ned)time(NULL);for(i=0;iN;i+)m_SortSelect

34、i =0;pView=this;IsSortSelect=FALSE;修改響應函數“ OnSortSelect ” ,產生0-70隨即整數來進行排序:void CTtView:O nSortSelect()for(int i=0;iTextOut(5O,2OO,選擇排序演示); for(i=0;iFillRect(&m _SortSelectRect,&BlueBrush); _BlueBrush.DeleteObject();4.4動態演示快速算法模塊設計表4-7為工程添加IDR MAINFRAM的菜單選項ID說明文字功能描述IDC_SORT_QUICK快速法排序快速法排序表4-8打開類向導

35、(Class Wizard )對話框向視圖類添加響應函數Object IDMessagesMessages的描述函數名IDC_SORT_QUICKCOMMAND快速該菜單OnSortQuick表4-9通過類查看(ClassView )選項卡,向視圖類添加成員變量變量類型變量名功能描述intm_SortQuickN記錄關鍵字CRectm_SortQuickRect動態演示矩形范圍BOOLIsSortQuickTRUE表示進行選擇排序在TtView.h頭文件,聲明選擇排序的全局函數: UINT ThreadSortQuick(LPVOID lp);void QuickSort(i nt * dat

36、a,i nt s,i nt t);在TtView.cpp 構建文件中添加實現快速排序算法的函數:ThreadSortSelect 和 Quicksort,代碼為:void QuickSort(i nt * data,i nt low,i nt high)int i=low,j=high;int tmp,key;if(lowvhigh)tmp=datalow;while(ij)while(ij)if(datajl nv alidate(TRUE);while(i=tmp)i+;Sleep(DELAY1);elsebreak;key=datai;datai=dataj;dataj=key;Slee

37、p(DELAY);pView-l nv alidate(TRUE);QuickSort(data,low,i-1);QuickSort(data,i+1,high);UINT ThreadSortQuick(LPVOID lp)int * data;data=pView-m_SortQuick;pView-I nv alidate(TRUE);Sleep(DELAY);QuickSort(data,0,N-1);return 0;打開類(Class View)中視圖類CTtView,在其中修改構建函數,實現變量初始化:CTtView:CTtView()int i;sran d( un sig

38、ned)time(NULL);for(i=0;iN;i+)m_SortQuicki =0;pView=this;IsSortQuick=FALSE;修改響應函數“ OnSortQuick ” ,產生0-70隨即整數來進行排序:void CTtView:O nSortQuick()for(int i=0;iTextOut(45O,2OO,快速排序演示);/ for(i=0;iFillRect(&m _SortQuickRect,&BlueBrush); _BlueBrush.DeleteObject();4.5同時比較三種算法模塊設計表4-10 為工程添加IDR MAINFRAM的菜單選項ID說

39、明文字功能描述IDC_SORT_ALL同時比較三種方法同時進行比較表4-11打開類向導(Class Wizard )對話框向視圖類添加響應函數Object IDMessagesMessages的描述函數名IDC_SORT_ALLCOMMAND快速該菜單OnSortAll同時比較這三種排序,就是同時調用這三種排序演示線程,修改響應函數On SortAll:void CTtView:O nSortAII()/ TODO: Add your comma nd han dler code hereOn SortBubble1();On SortQuick1();On SortSelect1();4.6

40、系統的測試每一個紅色(同時排序的藍色)的豎條都代表一個隨即數(以下相同)(1)冒泡排序的動態演示開始冒泡排序的動態演示結束冒泡排序演示圖4-3冒泡演示結束選擇排序的動態演示結束冒泡排序演示圖4-2冒泡演示開始選擇排序的動態演示開始選擇排序演示圖4-5選擇演示結束快速排序的動態演結束選擇檸序演示圖4-4選擇演示開始快速排序的動態演示開始快速排序演示快速毎序演示圖4-7快速演示結束圖4-6快速演示開始同時演示三種排序,比較他們的排序過程的快慢開始序演示II1 IlliIlli lull1 11 llllllllh.圖4-8同時比較三種排序開始第一個排序快速排序完畢。快速排序橫示選擇護序廣不圖4-9快速排序結束第二個排序一一選擇排序完畢。迭擇樓序演示冒ia推序離示圖4-10選擇排序結束最后一個排序一一冒泡排序完畢快速梓序橫示llllllllllllllllimin,.圖4-11冒泡排序結束4.7系統的特點在運行本系統的時候,選擇不同的菜單選項,能夠清楚的看出各種排序過 程的變化,例如:選擇“冒泡法排序”時,可以看見綠色的長條逐漸向左移動,完全驗 證了冒泡排序算法的思想。選擇“選擇法排序”時,可以看見綠色的長條是被交換到左邊的過程, 這個也完全證明了選擇排序算法的思想。選擇“快速法排序”時,可以看見整個序列在經過 i=j的過程后,被 分成了 2個子序列,再排列兩

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論