• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      冒泡排序動態(tài)演示算法設計

      2016-08-06 16:08:00蔡昊君
      大科技 2016年32期
      關鍵詞:控件排序程序

      蔡昊君

      (鄭州市第一中學 河南鄭州 450007)

      冒泡排序動態(tài)演示算法設計

      蔡昊君

      (鄭州市第一中學 河南鄭州 450007)

      在傳統(tǒng)的教學方法中,針對冒泡算法的教學主要是通過PPT、圖解或者flash動畫進行講述的,但是在教學過程中,仍然難以取得一個良好的教學效果,針對這種情況,重新對冒泡算法進行了研究,并運用C#語言設計了一套冒泡排序動態(tài)演示程序,可以讓學生更加直觀的了解該算法的動態(tài)執(zhí)行過程,并直接進行動態(tài)演示,進而能夠輕松的掌握冒泡排序算法的本質(zhì)內(nèi)容。

      冒泡排序;程序;動態(tài)演示

      作為計算機數(shù)據(jù)處理過程中經(jīng)常會用的到的算法之一,冒泡排序無疑是十分經(jīng)典的,在整個程序設計教學中都具有十分重要的意義。事實上,冒泡算法的基本思路是十分容易理解的,但是具體到實際的程序設計過程中取往往難以找到著手點,所以為了更加清晰、直白的將整個算法展現(xiàn)在學生面前,本人設計了一個冒泡排序的動態(tài)演示算法,能夠讓學生更加清晰的了解冒泡算法在執(zhí)行過程中,程序的執(zhí)行與所產(chǎn)生的變化。

      1 冒泡排序算法簡介

      冒泡排序是一種最基本的排序方法,因其簡單實用而被廣泛應用在實際編程中,所以在進行基礎編程教學中尤為重要。冒泡排序的具體過程是:假設要對數(shù)組A[1..n]中的元素進行非降序排序,則首先比較元素A[1]和A[2],若為逆序則將二者交換,然后比較元素A[2]和A[3],若為逆序則將二者交換,依次類推,直到比較最后兩個元素A[n-1]和A[n],稱為一趟“冒泡”,其結(jié)果是將數(shù)組中值最大的元素放到了整個序列的最后,而數(shù)組中值較小的元素都上升一個位置。然后再對剩余的A[1]到A[n-1]的元素進行第二趟“冒泡”,將具有次大值的元素放到A[n-1]的位置上。直到第n-1趟排序,在A[1]和A[2]之間進行“冒泡”后,排序完成。

      冒泡排序是以交換為基礎的排序算法,若在某一趟排序中未發(fā)現(xiàn)元素進行交換,則說明所有元素都已有序,冒泡排序過程可在該趟排序后終止。因此,可設一個標志exchange,在每趟排序開始前,先將其置為false,若排序過程中發(fā)生了交換,則將其置為true,每趟排序結(jié)束時檢查exchange,若未曾發(fā)生過交換則終止算法,不再進行下一趟排序。用C#實現(xiàn)的冒泡排序程序如下:

      2 動態(tài)演示程序界面介紹

      窗體上共安排Panel控件的數(shù)量為三,其中一個是演示窗口,在程序運行過程中實時顯示代表排序數(shù)據(jù)的標簽控件,隨著排序的進行,標簽控件的顏色發(fā)生變化;命令按鈕全部放置在右邊的Panel控件上;最后一個Panel控件的作用是放置顯示每趟排序結(jié)果的容器。圖1為程序運行界面。

      圖1 程序運行界面

      3 動態(tài)演示程序的具體實現(xiàn)

      本冒泡排序動態(tài)演示設計系統(tǒng)的演示由窗口上簽的顏色變換來達到演示效果,在整個程序中一共使用了三個定時器,一個定時器控件起延時的作用,另外兩個定時器控件分別控制外層循環(huán)和內(nèi)層循環(huán)的實現(xiàn)。以下為部分程序代碼:

      //以下為類中定義的變量private constint MAXNUMBERS=40;//可以設置的最大數(shù)組容量,最小容量為private int[]numbers=new int[1];//排序用的數(shù)組

      4 結(jié)束語

      本設計能是學生清晰的看見程序的語句執(zhí)行情況和存儲單元變化的情況,有利于學生快速的掌握冒泡排序算法,而且使用這種動態(tài)演示方式進行學習不受時間、地點的約束,學生甚至可以自己在課下自己模擬該過程,這樣更有利于學生的自主學習,也可以充分的激發(fā)學生的自主學習能力和對于程序的激情,達到更好的教學效果。

      [1]楊波,梁少林.C語言中冒泡排序算法的教學設計與分析[J].信息與電腦(理論版),2015(16).

      [2]謝翠萍,陳家益,朱兵章.C語言中冒泡排序教學設計與分析[J].福建電腦,2013(05).

      [3]郭亞慶,趙源.冒泡法排序的動態(tài)演示[J].湖北工業(yè)職業(yè)技術學院學報,2014(01).

      [4]邵平.冒泡排序程序設計的探究式教學方法及其分析[J].玉林師范學院學報,2008(05).

      [5]宋美英.基于C語言的冒泡排序算法探討[J].現(xiàn)代計算機(專業(yè)版),2011(29).

      [6]FaltinN.Structure and Constraints inInteractive Exploratory Algorithm Learning,2002.

      [7]CapposJ,Homer P.Ds Cats:Animating Data Structures for CS 2 and CS 3 Courses,http://www.cs.arizona.edu/dscats/dscatstechnical.pdf.2002.

      [8]CHRISTOPHER D.HUNDHAUSEN,SARAH A.DOUGLAS,JOHN T.STASKO.A Meta-Study of Algorithm Visualization Effectiveness[J].Journal of Visual Languages and Computing,2002(3).

      TP311.1

      A

      1004-7344(2016)32-0285-02

      2016-10-29

      猜你喜歡
      控件排序程序
      排序不等式
      恐怖排序
      試論我國未決羈押程序的立法完善
      人大建設(2019年12期)2019-05-21 02:55:44
      節(jié)日排序
      關于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      刻舟求劍
      兒童繪本(2018年5期)2018-04-12 16:45:32
      “程序猿”的生活什么樣
      英國與歐盟正式啟動“離婚”程序程序
      創(chuàng)衛(wèi)暗訪程序有待改進
      就這樣玩會VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      南丰县| 河池市| 陈巴尔虎旗| 郑州市| 抚顺市| 商南县| 南汇区| 银川市| 富民县| 大石桥市| 昭觉县| 齐齐哈尔市| 天水市| 伊川县| 巴楚县| 万全县| 玉环县| 尼玛县| 屏东县| 铁岭市| 汉川市| 尼勒克县| 萝北县| 孟津县| 濮阳县| 麻城市| 连平县| 武乡县| 鞍山市| 新兴县| 桂平市| 宜都市| 团风县| 山东省| 麻城市| 香港 | 宜君县| 东辽县| 呼和浩特市| 桦甸市| 张家川|