Java實(shí)現(xiàn)選擇排序侥猬,冒泡排序,二分法查找

選擇排序

選擇排序是從數(shù)組下標(biāo)0(下標(biāo)為0的元素)開始依次固定與之后的所有元素進(jìn)行比較,比被固定的元素小則與之交換欧漱,否則不交換,一輪下來可以確定出被固定下標(biāo)的元素是排在第一位的元素即最小的元素

冒泡排序

比較相鄰的元素葬燎。如果第一個(gè)比第二個(gè)大误甚,就交換他們兩個(gè)。
對每一對相鄰元素作同樣的工作谱净,從開始第一對到結(jié)尾的最后一對靶草。在這一點(diǎn),最后的元素應(yīng)該會是最大的數(shù)岳遥。
針對所有的元素重復(fù)以上的步驟奕翔,除了最后一個(gè)。
持續(xù)每次對越來越少的元素重復(fù)上面的步驟浩蓉,直到?jīng)]有任何一對數(shù)字需要比較派继。

二分法查找

二分法查找是建立在已經(jīng)排好序的前提下,確定該區(qū)間的中間位置K(2)將查找的值T與array[k]比較捻艳。若相等驾窟,查找成功返回此位置;否則確定新的查找區(qū)域认轨,繼續(xù)二分查找绅络。區(qū)域確定如下:a.array[k]>T 由數(shù)組的有序性可知array[k,k+1,……,high]>T;故新的區(qū)間為array[low,……,K-1]b.array[k]<T 類似上面查找區(qū)間為array[k+1,……嘁字,high]恩急。每一次查找與中間值比較,可以確定是否查找成功纪蜒,不成功當(dāng)前查找區(qū)間縮小一半衷恭,遞歸找,即可纯续。時(shí)間復(fù)雜度:O(log2n)

public class Sort {
public static void main(String args[]) {

        int[] arr = { 4, 56, 23, 166, 2 };

        // selectSort(arr); //選擇排序

        // bubbly(arr);    //冒泡排序

        Arrays.sort(arr); // JDK自身的排序

        for (int i = 0; i < arr.length; i++) {

            System.out.print(arr[i] + " ");

        }

        // 二分法查找

        int key = 56;

        int index = halfSearch(arr, key);

        System.out.println(index);

    }

    // 選擇排序

    public static void selectSort(int[] arr) {

        for (int i = 0; i < arr.length - 1; i++) {

            for (int j = i + 1; j < arr.length; j++) {

                if (arr[i] > arr[j]) {

                    exchange(arr, i, j);

                }

            }

        }

    }

    // 冒泡排序

    public static void bubbly(int[] arr) {

        for (int i = 0; i < arr.length - 1; i++) {

            for (int j = 0; j < arr.length - 1 - i; j++) {

                if (arr[j] > arr[j + 1]) {

                    exchange(arr, j, j + 1);

                }

            }

        }

    }

    // 交換

    public static void exchange(int[] arr, int i, int j) {

        int temp = arr[i];

        arr[i] = arr[j];

        arr[j] = temp;

    }

    // 二分法查找(數(shù)組必須是已經(jīng)排好序的)

    public static int halfSearch(int[] arr, int key) {

        int min = 0, max = arr.length - 1, mid;

        while (min <= max) {

            mid = (min + max) / 2;

            if (key > arr[mid])

                min = mid + 1;

            else if (key < arr[mid])

                max = mid - 1;

            else

                return mid;

        }

        return -1;

    }

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末随珠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子猬错,更是在濱河造成了極大的恐慌窗看,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倦炒,死亡現(xiàn)場離奇詭異显沈,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)析校,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門构罗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铜涉,“玉大人,你說我怎么就攤上這事遂唧≤酱” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵盖彭,是天一觀的道長纹烹。 經(jīng)常有香客問我,道長召边,這世上最難降的妖魔是什么铺呵? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮隧熙,結(jié)果婚禮上片挂,老公的妹妹穿的比我還像新娘。我一直安慰自己贞盯,他們只是感情好音念,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著躏敢,像睡著了一般闷愤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上件余,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天讥脐,我揣著相機(jī)與錄音,去河邊找鬼啼器。 笑死旬渠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的镀首。 我是一名探鬼主播坟漱,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼更哄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起腥寇,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤成翩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后赦役,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體麻敌,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年掂摔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了术羔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赢赊。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖级历,靈堂內(nèi)的尸體忽然破棺而出释移,到底是詐尸還是另有隱情,我是刑警寧澤寥殖,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布玩讳,位于F島的核電站,受9級特大地震影響嚼贡,放射性物質(zhì)發(fā)生泄漏熏纯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一粤策、第九天 我趴在偏房一處隱蔽的房頂上張望樟澜。 院中可真熱鬧,春花似錦叮盘、人聲如沸往扔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萍膛。三九已至,卻和暖如春嚷堡,著一層夾襖步出監(jiān)牢的瞬間蝗罗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工蝌戒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留串塑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓北苟,卻偏偏與公主長得像桩匪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子友鼻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容