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
主站蜘蛛池模板: 99资源在线| 国产精品三级av及在线观看| 亚洲人成网站在线观看播放不卡| 亚洲成人精品久久| 国产精品久久国产精麻豆99网站| 国产成人高清精品免费5388| v天堂中文在线| 亚洲中文字幕97久久精品少妇| 日韩欧美中文字幕在线精品| 91在线高清视频| 日韩国产综合精选| 中文字幕亚洲综久久2021| 午夜性刺激在线观看免费| 国产99热| 亚洲无限乱码| 乱人伦中文视频在线观看免费| 久草视频福利在线观看| 亚洲视频无码| 午夜天堂视频| 这里只有精品在线播放| a亚洲天堂| 国产高清无码麻豆精品| 99re精彩视频| 香蕉久久国产超碰青草| 伊人成人在线视频| 亚洲无线视频| www.av男人.com| 国产制服丝袜91在线| 黄色网页在线播放| 91美女视频在线| 午夜一区二区三区| 无码aⅴ精品一区二区三区| 欧美在线免费| 亚洲系列中文字幕一区二区| 男女精品视频| av大片在线无码免费| 天堂va亚洲va欧美va国产| 国产一区二区三区日韩精品| 亚洲AV成人一区二区三区AV| 国产浮力第一页永久地址| 国产一线在线| 午夜三级在线| 亚洲水蜜桃久久综合网站| 麻豆国产精品一二三在线观看| 亚洲日韩AV无码一区二区三区人| 亚洲成人免费在线| 亚洲国语自产一区第二页| 欧美日韩动态图| 伊人成人在线视频| 麻豆精选在线| 中文字幕亚洲另类天堂| 免费a级毛片视频| 亚洲天堂精品在线| 亚洲人成网站在线播放2019| av在线5g无码天天| 朝桐光一区二区| 国产精品久久久久久久伊一| 婷婷六月色| 中文毛片无遮挡播放免费| 日本一本在线视频| 午夜不卡视频| 天天操精品| 亚洲中文在线看视频一区| 麻豆精品视频在线原创| 国产av一码二码三码无码| 久久精品只有这里有| 国产精品露脸视频| 日韩高清在线观看不卡一区二区| 久草视频中文| 日本不卡视频在线| 亚洲男人的天堂久久香蕉网| 一级在线毛片| 欧洲高清无码在线| 免费观看欧美性一级| 一本大道AV人久久综合| 天堂成人av| 国产成人91精品免费网址在线| 搞黄网站免费观看| 国产农村妇女精品一二区| 国产毛片不卡| 亚洲国产天堂久久综合226114| 午夜综合网|