999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3D 的冒泡排序算法動態可視化設計及實現

2021-03-12 15:23:54馬曉萍
喀什大學學報 2021年6期
關鍵詞:排序可視化設計

馬曉萍

(喀什大學 計算機科學與技術學院,新疆喀什 844000)

0 引言

冒泡排序是一種典型的、穩定排序算法[1],對初次接觸程序語言的學習者來說,排序算法比較抽象,對算法的理解存在較大的障礙。如何讓學生更好直觀的理解排序算法的原理并用程序語言實現,是一個值得研究的問題。Unity3D 是一款實時3D 互動內容創作和運營平臺,所提供的可視化、實時三維動畫等類型互動內容[2],具有強大的交互功能和豐富的三維表現。利用Unity3D 實現冒泡排序算法動態可視化,是一種有效的算法可視化方式,可促進學習者對冒泡排序算法的理解。

1 冒泡排序

1.1 冒泡排序原理

在程序設計語言的排序算法中,冒泡排序是一種平方級的原地排序算法[3]。冒泡排序算法的原理:在待排序的一組數中,將相鄰的兩個數值進行比較,若前面的數值比后面的數值大就交換兩數,把小數值放在前面,否則不交換;直至最終完成從小到大的排序。[4]

1.2 C#語言實現

冒泡排序算法的程序描述(C#語言)如下:

上述代碼中,通過外層for循環,用數組的長度控制整體程序的運行次數,內層for用于與前后兩位數比較大小,如果存在第一個數比第二個數大,則兩個數利用中間變量temp,實現交換的邏輯。

2 基于Unity3D 的冒泡排序算法可視化設計及實現

2.1 冒泡排序三維動態可視化設計

在Unity 中設計由一個Panel 容器控件,一個Text 文本控件,兩個Button 按鈕控件組成的UI 界面。Text控件文本內容為“冒泡排序法三維動態可視化”,當單擊“隨機生成數據”按鈕時,在Panel 容器控件上逐個動態生成隨機數據柱狀圖效果,此案例中隨機生成9 個1~100 的整數,并產生以該整數作為動態柱狀圖的高度。當單擊“開始冒泡排序”按鈕時,在Panel 容器控件上,開始進行柱狀圖動態數據的交換,準備比較的兩個柱狀圖變成綠色,等待排序比較,進行完一輪比較后所產生的最大數柱狀圖變成紅色。

2.2 實現隨機生成數據及動態生成效果

2.2.1 隨機排序數據類的設計

(1)設計一個RandomData 類用于生成隨機數。如圖1所示。

圖1 RandomData類圖

部分代碼如下:

(2)利用協程機制動態生成柱狀圖的接口設計.

該接口中,go.GetComponent<Transform>().position 語句表示動態生成柱狀圖的位置,t.Get-Component<Transform>().position 語句表示隨機產生數據的文本顯示在當前柱狀圖y 軸上方v.y+0.5位置。通過測試,Unity中無法直接調用接口,為了實現接口InitBarGraph()和接口Sort()的功能,本案例中編寫了兩個方法,使用StartCall()方法分別調用接口。調用接口InitBarGraph()參考代碼如下:

動態生成隨機柱狀圖效果圖如下圖2所示。

圖2 隨機柱狀圖

2.2.2 冒泡排序類的設計

(1)冒泡排序及柱狀圖顏色變化的接口設計。

該接口主要實現設置準備比較的兩個柱狀圖顏色、待排數的柱狀圖顏色,最大數的柱狀圖顏色,以及進行柱狀圖動態數據的交換的冒泡排序功能,程序流程圖如圖3所示。

圖3 可視化冒泡排序流程圖

部分代碼如下:

(2)柱狀圖的位置和高度的方法。

該方法用以實現柱狀圖、柱狀圖上隨機數數字的位置和高度的設置,使得數據始終顯示在柱狀圖正上方的功能。

部分代碼如下:

(3)實現第一輪冒泡排序的效果圖如圖4 所示。

圖4 第一輪冒泡排序效果圖

3 結語

本文利用Unity3D 平臺,以“C#程序設計”課程中的冒泡排序為案例,利用協程動態生成隨機數據柱狀圖,并以三維動態可視化實現C#腳本語言的冒泡排序算法,直觀動態地展示了冒泡排序算法的基本思想和排序過程。實驗證明,動態可視化的課程設計,既通過Unity3D 創建三維動態互動內容提高了學習者的學習興趣,又加深了學習者對冒泡排序算法原理的理解性,達到了良好的教學效果。

猜你喜歡
排序可視化設計
基于CiteSpace的足三里穴研究可視化分析
排序不等式
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
恐怖排序
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
節日排序
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
刻舟求劍
兒童繪本(2018年5期)2018-04-12 16:45:32
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 亚洲区第一页| 成人在线亚洲| jizz在线免费播放| 国产亚洲视频免费播放| 久久伊伊香蕉综合精品| 狠狠色婷婷丁香综合久久韩国| 伊人色综合久久天天| 亚洲无码视频喷水| 日韩毛片免费观看| 男人天堂亚洲天堂| 亚洲欧美不卡中文字幕| 久久综合亚洲色一区二区三区| 精品五夜婷香蕉国产线看观看| 怡红院美国分院一区二区| 综合色亚洲| 波多野结衣一二三| 久久性妇女精品免费| 国产精品中文免费福利| 国产欧美综合在线观看第七页| 国产乱子伦无码精品小说| 尤物成AV人片在线观看| 爆乳熟妇一区二区三区| 国产99视频在线| 国产精品99r8在线观看| 亚洲国产天堂久久综合| 国产日韩欧美中文| 色综合久久综合网| 亚洲天堂视频在线观看免费| 国产91成人| 国产毛片高清一级国语 | 欧美色丁香| 亚洲色欲色欲www在线观看| 欧美人在线一区二区三区| 欧美成人日韩| 经典三级久久| 亚洲国产天堂在线观看| 亚洲第一在线播放| 少妇精品网站| 欧美不卡二区| 免费国产一级 片内射老| 全部无卡免费的毛片在线看| 欧美成人h精品网站| jizz亚洲高清在线观看| 国产精品免费露脸视频| 97国产精品视频人人做人人爱| 国产经典免费播放视频| 亚洲第一视频网| 97视频精品全国在线观看| 波多野结衣的av一区二区三区| 免费国产高清视频| 国产精品流白浆在线观看| 99草精品视频| 国产精品v欧美| 91精品啪在线观看国产| 午夜福利视频一区| 视频二区国产精品职场同事| 国产日韩精品一区在线不卡| 国产91丝袜在线观看| 亚洲成年人网| 91精品国产自产在线老师啪l| 国产日韩精品一区在线不卡| 日本欧美一二三区色视频| 日韩国产精品无码一区二区三区| 久久国产av麻豆| 九九九国产| 亚洲欧美h| 亚洲一级毛片在线观播放| jizz在线免费播放| 亚洲国产成人精品无码区性色| 欧美国产日本高清不卡| 国产一区二区精品高清在线观看| 一区二区午夜| 欧美精品在线免费| 国产一级做美女做受视频| 国内精品久久人妻无码大片高| 91精品视频在线播放| 亚洲精品老司机| 亚洲免费福利视频| 中文字幕在线免费看| 97精品伊人久久大香线蕉| 欧美人人干| 香港一级毛片免费看|