今天又有一點空,寫了歸併排序,並用swing動畫顯示了排序過程。
排序過程不難,可以看這裡下面主要說說視覺化的。
像諸如氣泡排序的話,如果想對排序過程做視覺化。那麼只要簡單的在每個繪圖主迴圈中重繪整個資料就行了。
但是,歸併排序不一樣,因為它的排序過程是不停建立一些中間小陣列來儲存,然後不停合併這些陣列,最後實現排序。
因此想視覺化排序過程,我這裡採用的是生產者-消費者模型。就是gui執行緒和排序執行緒分別是消費者和生產者。
有發現bug或可優化的地方,望指教。
演算法視覺化 歸併排序
時隔幾個月,終於重新拾起了c 老司機回歸,自然是 啟動vs 新建解決方案 新增新專案 一鍵三連。啊,這絲滑的感覺,莫不是?不能打斷了這絲滑的感覺,隨便寫點什麼,寫個歸併排序吧!一頓操作猛如虎,一看編譯。祝大家虎虎生威!此時的我 懷念起了用matlab做數字訊號處理的日子。自信心備受打擊,卑微的我找到...
歸併演算法 歸併排序
歸併演算法 歸併排序 這周需要用到歸併演算法,於是找了找相關的資料,整理如下 歸併排序 merge sort 是利用 歸併 技術來進行排序。歸併是指將若干個已排序的子檔案合併成乙個有序的檔案。兩路歸併演算法 1 演算法基本思路 設兩個有序的子檔案 相當於輸入堆 放在同一向量中相鄰的位置上 r low...
歸併排序演算法
include stdafx.h include include include 合併兩段已經排好序的列表 void merge int list int mergelist int left int mid int right else if i mid else 將列表list按照seglen分...