亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Scala冒泡排序、快速排序、插入排序

2019-11-11 02:14:09
字體:
來源:轉載
供稿:網友

冒泡排序:

比較相鄰的元素。 如果第一個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。 在這一點,最后的元素應該會是最大的數。針對所有的元素重復以上的步驟,除了最后一個。持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較??焖倥判颍?p>

所有小于”基準”的元素,都移到”基準”的左邊;所有大于”基準”的元素,都移到”基準”的右邊。 這個操作稱為分區(partition) 操作,分區操作結束后,基準元素所處的位置就是最終排序后它的位置

插入排序:

通過構建有序序列,對于未排序數據,在已排序序列中從后向前掃描,找到相應位置并插入。

代碼:

package Test2/**  * Created by zhouzhongqing on 2017/2/7 0007.  */object ArithmeticTest {  def main(args: Array[String]): Unit = {      //bubblingSort(0);    //  insertSort(0);    //val array = Array(2,4,3,5,8,66,7,22,12,11);    val array = Array(3,2);    quickSort(array, 0, array.length - 1);// 快速排序    for ( i <- 0 to (array.length - 1) ) {      PRintln(array(i),"----",array.length);    }  }/**  * 快速排序  * 是對冒泡排序的一種改進。由C. A. R. Hoare在1962年提出。它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,  * 其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。  *param data  *            目標數組  *param start  *            起始位  * param end  *            結束位  * */  def quickSort( data: Array[Int] , start : Int , end : Int ) : Int = {    // 設置關鍵數據key為要排序數組的第一個元素,    // 即第一趟排序后,key右邊的數全部比key大,key左邊的數全部比key小    val key = data(start);    // 設置數組左邊的索引,往右移動比key大的數    var i = start;    // 設置數組右邊的索引,往左移動比key小的數    var j = end;    // 如果左邊索引比右邊索引小,則還有數據沒有排序    while (i < j){        while(data(j) > key && j > i){ //  2  3   1 0            j = j - 1;        }      data(i) = data(j);//data(0) = 2      while (data(i) < key && i < j ){// 2 3    0  1        i = i+1;// i = 1      }      data(j) = data(i);// data(0) = 2    }    //此時 i == j    data(i) = key;  // data(1) = 3    //遞歸調用    if(i - 1 > start){      // 遞歸調用,把key前面的完成排序      quickSort(data, start, i - 1);    }    if(i + 1 < end){      // 遞歸調用,把key后面的完成排序      quickSort(data, i + 1, end);    }    return 0;  }/**  * 插入排序,從小到大排序  * 這個算法從數組的第二個元素開始循環,將選中的元素與之前的元素一一比較,如果選中的元素小于之前的元素,則將之前的元素后移,最后再將選中的元素放在合適的位置。在這個算法執行的過程中,總是保持著索引i之前的數組是升序排列的。  * */  def insertSort( a:Int ) : Int = {    val array = Array(2,4,3,5,8,66,7,22,12,11);    for ( i <-1 to (array.length -1 ) ) {//這個算法從數組的第二個元素開始循環 j <- 1        var arrayVal = array(i);        var j = i - 1;//得到前一位元素      // while 循環執行 2      while( j >= 0 &&  array(j) > arrayVal){//判斷前面的是否大于arrayVal        array(j+1) = array(j);//如果大于,將它放后面        j = j-1;     //   println(array(j),"----",array.length,"j:" , j);      }      array(j+1) = arrayVal;//如果一次都不滿足while的條件,arrayVal還在原來的位置;如果滿足過arrayVal會放在前面    }    for ( i <- 0 to (array.length - 1) ) {      println(array(i),"----",array.length);    }    return 0;  }  /**    * 冒泡排序    *從大到小排列    * 自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即:每當兩相鄰的數比較后發現它們的排序與排序要求相反時,就將它們互換。    */  def bubblingSort( a:Int ) : Int = {    val array = Array(2,4,3,5,8,66,7,22,12,11);    for ( j <-0 to (array.length - 3) ) {      for (i <- 0 to (array.length - 2 - j)) {        //     println(array(i),"----",array.length);        if (array(i) > array(i + 1)) {//判斷前一個元素是否大于后一個          var temp = 0;          temp = array(i + 1);//賦值          array(i + 1) = array(i);//如果前一個元素大,把他移動到后面          array(i) = temp;//把后面一個移動到前面        }      }    }    for ( i <- 0 to (array.length - 1) ) {      println(array(i),"----",array.length);    }    return 0;  }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲在线观看视频| 欧美极品在线播放| 日韩中文字幕在线观看| 日韩精品中文字幕在线| 国产精品大陆在线观看| 亚洲国产日韩欧美综合久久| 国产视频精品自拍| y97精品国产97久久久久久| 亚洲电影第1页| 亚洲人成网站999久久久综合| 亚洲免费视频一区二区| 欧美成人午夜影院| 激情懂色av一区av二区av| 夜夜嗨av一区二区三区四区| 在线观看国产精品日韩av| 久久视频免费在线播放| 日韩中文字幕在线观看| 久久精品美女视频网站| 日本成人在线视频网址| 欧美理论电影在线观看| 亚洲一区亚洲二区| 亚洲人成网7777777国产| 一区二区三区四区精品| 欧美高清激情视频| 日韩一区二区三区在线播放| 久久国产精品网站| 中文字幕日韩高清| 亚洲一区精品电影| 国产精品主播视频| 中文字幕亚洲欧美在线| 欧美中文字幕在线播放| 激情成人中文字幕| 欧美电影免费观看高清完整| 日韩一区二区久久久| 国产日韩在线视频| 久热国产精品视频| 国产一区二区动漫| 一区二区三区四区视频| 欧美性猛交视频| 日韩有码在线观看| 成人一区二区电影| 精品av在线播放| 国产亚洲欧洲在线| 亚洲欧洲激情在线| 亚洲人成网站色ww在线| 懂色av一区二区三区| 亚洲国产成人精品电影| 日韩av最新在线| 日韩美女视频中文字幕| 欧美老妇交乱视频| 第一福利永久视频精品| 91免费版网站入口| 久久人人爽人人爽人人片av高清| 日韩动漫免费观看电视剧高清| 国产精品欧美日韩久久| 国产精品欧美亚洲777777| 国产精品久久999| 亚洲精品日韩欧美| 成人美女av在线直播| 中文字幕一区日韩电影| 97在线免费视频| 亚洲高清福利视频| 国产精品成人免费视频| 亚洲图片在区色| 91在线免费看网站| 尤物yw午夜国产精品视频| 亚洲精品日韩久久久| 欧美在线观看网址综合| 日韩三级成人av网| 91免费精品国偷自产在线| 久久久伊人日本| 一区二区三欧美| 亚州国产精品久久久| 欧美激情欧美激情在线五月| 国产精品久久久一区| 亚洲一级一级97网| 欧美有码在线观看| 欧美日韩久久久久| 91久久精品日日躁夜夜躁国产| 亚洲三级 欧美三级| 国产91精品视频在线观看| 久久影院中文字幕| 这里只有精品久久| 色综合导航网站| 国产欧美一区二区白浆黑人| 国产精品九九九| 亚洲国产精品久久91精品| 91最新在线免费观看| 欧美高清电影在线看| 亚洲国产高清福利视频| 欧美日韩在线免费| 亚洲天堂av图片| 亚洲第一区在线| 国产成人一区二区三区小说| 亚洲国产精品va在线| 久久91亚洲精品中文字幕奶水| 国产久一一精品| 国产一区私人高清影院| 91中文在线视频| 亚洲电影成人av99爱色| 日韩有码视频在线| 久久精品91久久久久久再现| 日韩精品极品在线观看播放免费视频| xvideos成人免费中文版| 日韩一二三在线视频播| 欧美日韩一区二区免费视频| 亚洲男人天堂九九视频| 日韩精品极品在线观看播放免费视频| 日韩欧美在线第一页| 亚洲精品一区av在线播放| 国产成人综合一区二区三区| 欧美午夜精品久久久久久人妖| 青青精品视频播放| 中文字幕日韩av| 中文精品99久久国产香蕉| 欧美大荫蒂xxx| 大量国产精品视频| 91中文在线观看| 亚洲国产欧美日韩精品| 精品欧美一区二区三区| 国产精品av在线播放| 久久精品一本久久99精品| 伊人伊成久久人综合网站| 精品激情国产视频| 色哟哟入口国产精品| 欧美丰满少妇xxxxx| 久久久之久亚州精品露出| 亲爱的老师9免费观看全集电视剧| 成人乱人伦精品视频在线观看| 久久久精品在线| 波霸ol色综合久久| 一个色综合导航| 国产91在线视频| www.国产精品一二区| 欧美精品成人在线| 蜜臀久久99精品久久久无需会员| 色综合影院在线| 日韩在线视频网| 久久97精品久久久久久久不卡| 在线成人激情黄色| 国产在线拍揄自揄视频不卡99| 8090成年在线看片午夜| 日韩高清欧美高清| 在线观看视频99| 最好看的2019年中文视频| 亚洲欧美日韩在线高清直播| 国产精品三级网站| 成人免费视频网址| 91免费在线视频网站| 欧美亚洲视频一区二区| 丝袜亚洲欧美日韩综合| 午夜精品久久17c| 国产999精品久久久| 国产成人亚洲综合91精品| 精品国内产的精品视频在线观看| 亚洲人成在线观看网站高清| 亚洲精品日韩丝袜精品| 日韩免费av一区二区| 中文字幕亚洲色图| 亚洲色图色老头| 亚洲欧美国产高清va在线播| 国产精品第七十二页| 色老头一区二区三区| 国产精品露脸自拍|