大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java零基礎(chǔ)入門(mén)教程:選擇排序冒泡排序和java內(nèi)置排序

Java零基礎(chǔ)入門(mén)教程:選擇排序冒泡排序和java內(nèi)置排序

更新時(shí)間:2019-11-06 10:12:12 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2266次



  選擇排序:就是對(duì)給定的數(shù)組數(shù)據(jù)進(jìn)行從大到小或從小到大的順序排好,而內(nèi)思路則是比如講第一個(gè)元素和后面所有元素進(jìn)行對(duì)比,然后將最大或最小的和頭角標(biāo)兌換位置,然后再用第二個(gè)元素和剩下的依次對(duì)比,然后再兌換位置,如此循環(huán)。所以在這種選擇排序,咱們需要用到嵌套循環(huán)和判斷語(yǔ)句。


image.png

  具體java數(shù)組選擇排序案例例題如下:


  對(duì)給定數(shù)組進(jìn)行排序


  {6,7,3,8,4,1}


  排序的次數(shù):比如第一次5次,【第一次排序?qū)Ρ却螖?shù)=數(shù)組長(zhǎng)度arr.length-1】。第二次4次……大圈套小圈原理(嵌套循環(huán))


  *****


  ****


  ***


  **


  *

      image.png

      image.png

  如圖所示


  因?yàn)椴僮鞯氖峭粋€(gè)數(shù)組,所以函數(shù)塊類型為void


  從代碼和編譯結(jié)果可以看出,內(nèi)循環(huán)結(jié)束一次,最值出現(xiàn)在頭角標(biāo)位置上


  這是一個(gè)嵌套式的內(nèi)存循環(huán)


  所以第一層for循環(huán)中


  x表示數(shù)組角標(biāo),x=0;從第一角標(biāo)開(kāi)始


  x<arr.length表示最后一個(gè)角標(biāo),然而我們對(duì)比的話,最后一個(gè)角標(biāo)都是和前面對(duì)比過(guò)的,所以這里可以直接最后一個(gè)角標(biāo)不用對(duì)比所以,可以arr.length-1


  而內(nèi)循環(huán)for則表示使數(shù)組前一角標(biāo)和后一角標(biāo)對(duì)比x+1


  然后在內(nèi)內(nèi)循環(huán)里面在嵌套一個(gè)if判斷流程語(yǔ)句,使用咱們之前學(xué)習(xí)過(guò)的變量數(shù)據(jù)換位置的方式,采用臨時(shí)變量對(duì)最值進(jìn)行換位置。


  在函數(shù)功能塊定義完成后,咱們?yōu)榱蓑?yàn)證代碼和思路的正確性,再定義一個(gè)可以復(fù)用的函數(shù)功能塊,來(lái)遍歷數(shù)組。這個(gè)函數(shù)遍歷功能塊即可以對(duì)還沒(méi)有排序的數(shù)組進(jìn)行遍歷打印,又可以對(duì)調(diào)用了排序函數(shù)功能快的數(shù)組進(jìn)行遍歷打印。


  下面咱們?cè)賮?lái)了解下:冒泡排序


  冒泡排序在咱們面試中比較常見(jiàn)哦~~~哈哈哈


  冒泡排序:相鄰的兩個(gè)元素進(jìn)行比較,如果符合條件換位。和選擇排序的道理類型,只不過(guò),選擇排序的最值從左邊開(kāi)始而冒泡排序的最值從右邊開(kāi)始


  冒泡排序和選擇排序一樣,每一次循環(huán)比較都比數(shù)組元素長(zhǎng)度少1.arr.length-1


image.png

  冒泡排序例題案例如下圖:


image.png

  排序其實(shí)就是算法,基本上各種排序的基本原理差不多,只不過(guò)是比較的干事有區(qū)別,所以就涉及到效率的問(wèn)題。


  排序有有N多種,比如果插入啊,插入啊咱們沒(méi)有必要一一去了解,講一兩個(gè),主要是熟悉這里面的一些原理,了解這些算法得到原理就可以了。


  特別注意,排序中最快的方法是希爾排序;


  希爾排序是三層循環(huán)加上位運(yùn)算來(lái)排的序。這是最快的,最有效率的,但是我們一般不需要去使用它和了解他,但是你要覺(jué)著想了解更多可以多多了解下哦,畢竟多學(xué)無(wú)害嘛,或許有一天進(jìn)階到需要用到呢,是吧~~哈哈,總是希望你比我更強(qiáng)吧,程序”猿”


  上面的例題中涉及到選擇排序和冒泡排序,其實(shí)咱們可以有N多種解題的思路,而這里咱們只選擇了一種,跟多的,有興趣嗎?點(diǎn)擊評(píng)論區(qū),發(fā)表你的思路,和志同道合的java前進(jìn)的朋友一起分享吧~~^^


  在后面如果代碼和數(shù)據(jù)比較多的時(shí)候咱們就該考慮性能和效率問(wèn)題了,咱們今天分享的是比較低的,唯一的好處就是代碼好記丫;


  為什么說(shuō)性能低呢?


  因?yàn)椋好恳淮畏蠗l件,咱們都會(huì)在數(shù)組當(dāng)中對(duì)數(shù)組元素的位置的置換而堆內(nèi)存中換位置比較消耗資源,但這消耗的資源也不是特別的大;如果說(shuō)他們需要換位置的話我們先不置換他們的位置?我們將他們需要換位置的角標(biāo)和元素在棧內(nèi)存中定義兩個(gè)變量先記錄下來(lái),當(dāng)我們先對(duì)比完后,我們?nèi)∽罱K需要換位置的值,并把它記錄下來(lái);


  簡(jiǎn)而言之,就是在堆內(nèi)存中頻繁的換位置,轉(zhuǎn)移到占內(nèi)存當(dāng)中。


  但是太深的咱們也不用記得,因?yàn)閖ava語(yǔ)言就拍咱們不會(huì)排序,所以java給我們提供了一個(gè)功能improtjava.util.*這個(gè)功能在咱們真實(shí)開(kāi)發(fā)中應(yīng)用

image.png

  既然java有這個(gè)排序功能,咱們?yōu)槭裁催€要去理會(huì)什么冒泡啊選擇排序什么的?理解這些可以明白排序的一些算法,而且咱們既然是從程序“猿”出發(fā),有些東西咱們還是要理解并且會(huì)的,你說(shuō)是不?!哈哈~~~


  真實(shí)開(kāi)發(fā)要求的效率和便捷,所以一般咱們會(huì)使用java內(nèi)置的。


  以上就是動(dòng)力節(jié)點(diǎn)java學(xué)院小編介紹的“Java零基礎(chǔ)入門(mén)教程:選擇排序冒泡排序和java內(nèi)置排序”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久国产精品二国产精品 | 午夜一级毛片看看 | 精品视频国产 | 成人美女免费网站视频 | 国产乱码一区二区三区 | 97夜夜澡人人爽人人免费 | 国产精品亚洲精品观看不卡 | 国产综合色在线视频区 | 九九精品视频在线观看九九 | 日本老熟妇激情毛片 | 福利综合网 | 欧美一级成人毛片影院 | 国产区91| 人人爱操 | 国内精品久久久久香蕉 | 欧美激情亚洲 | 人成午夜欧美大片免费视频 | 天天射网站 | 亚洲69av| 国产福利短视频 | 欧美久久超级碰碰碰二区三区 | 亚洲精品中文字幕不卡在线 | 日本一区二区高清 | 亚洲欧美中文日韩二区一区 | 精品欧美一区二区三区 | 欧美精品在线看 | 国产99久9在线 | 色综合久久精品中文字幕 | 国产高清久久99 | 成人欧美精品久久久久影院 | 奇米四色影视 | www.久久精品 | 日韩精品一区二区三区中文字幕 | 日本精品中文字幕在线不卡 | 欧美兽皇video | 国产a v高清一区二区三区 | 欧美精品毛片 | 青青青爽视频在线观看入口 | 一区二区国产精品 | 久久这里只有精品免费的 | a视频在线 |