国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

排序算法

Aomine / 1191人閱讀

摘要:插入排序?qū)⑽恢蒙系脑叵蜃笠苿樱钡剿谇皞€元素中的正確位置被找到的地方希爾排序二分排序冒泡排序循環(huán)找到下沉氣泡每下沉一位下次比較長度較小一位將氣泡下沉到當(dāng)前比較的最后一位選擇排序?qū)?dāng)前位置元素當(dāng)作最小值元素其實(shí)

Simple Insertion Sort 插入排序
/**
 * 將位置p上的元素向左移動,直到它在前p+1個元素中的正確位置被找到的地方
 * @param a an array of Comparable items
 */
public static > void insertionSort(AnyType[] a) {
    int j;
    for (int p = 1; p < a.length; p++) {
        AnyType tmp = a[p];
        for (j = p; j > 0 && tmp.compareTo(a[j-1]) < 0; j--) {
            a[j] = a[j-1];
        }
        a[j] = tmp;
    }
    System.out.println(Arrays.toString(a));
}
Shell Sort 希爾排序
/**
 * @param a an array of Comparable items
 */
public static > void shellSort(AnyType[] a) {
    int j;
    for (int gap = a.length / 2; gap > 0; gap /= 2) {
        for (int i = gap; i < a.length; i++) {
            AnyType tmp = a[i];
            for (j = i; j >= gap && tmp.compareTo(a[j - gap]) < 0; j -= gap) {
                a[j] = a[j - gap];
            }
            a[j] = tmp;
        }
    }
    System.out.println(Arrays.toString(a));
}
Binary Sort 二分排序
/**
 * @param a an array of Comparable items
 */
public static > void binarySort(AnyType[] a) {
    Integer i,j;
    Integer low,high,mid;
    AnyType temp;
    for(i=1;ihigh;j--)
        a[j+1]=a[j];
        a[high+1]=temp;
    }
    System.out.println(Arrays.toString(a));
}
Bubble Sort 冒泡排序
/**
 * @param a an array of Comparable items
 */
public static > void bubbleSort(AnyType[] a) {
    Integer i,j;
    AnyType temp;  
    for(i=1;i 0) {
                temp=a[j];  
                a[j]=a[j+1];  
                a[j+1]=temp;      //將"氣泡"下沉到當(dāng)前比較的最后一位   
            }  
        }  
    }  
    System.out.println(Arrays.toString(a));
}
Selection Sort 選擇排序
/**
 * @param a an array of Comparable items
 */
public static > void selectSort(AnyType[] a) {
    Integer i,j,min;
    AnyType temp;  
    for(i=0;i 0) { //用a[i]和后面所有元素逐個比較,找到最小指的下標(biāo)并記錄  
                temp=a[j];      //下一位小于前一位,則將下一位賦值給temp并繼續(xù)往右移動比較   
                min=j;           //最小值的下標(biāo),賦值給min   
            }  
        }  
        a[min] = a[i];           //將最小值元素的和當(dāng)前元素交換,使得當(dāng)前元素為其后面所有元素中最小值     
        a[i] = temp;  
    }
    System.out.println(Arrays.toString(a));
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/67383.html

相關(guān)文章

  • Github標(biāo)星2w+,熱榜第一,如何用Python實(shí)現(xiàn)所有算法

    摘要:歸并排序歸并排序,或,是創(chuàng)建在歸并操作上的一種有效的排序算法,效率為大符號。以此類推,直到所有元素均排序完畢。與快速排序一樣都由托尼霍爾提出的,因而也被稱為霍爾選擇算法。 showImg(https://segmentfault.com/img/remote/1460000019096360);編譯:周素云、蔣寶尚 學(xué)會了Python基礎(chǔ)知識,想進(jìn)階一下,那就來點(diǎn)算法吧!畢竟編程語言只...

    zxhaaa 評論0 收藏0
  • JavaScript 數(shù)據(jù)結(jié)構(gòu)與算法之美 - 冒泡排序、插入排序、選擇排序

    摘要:之所以把冒泡排序選擇排序插入排序放在一起比較,是因?yàn)樗鼈兊钠骄鶗r間復(fù)雜度都為。其中,冒泡排序就是原地排序算法。所以冒泡排序是穩(wěn)定的排序算法。選擇排序思路選擇排序算法的實(shí)現(xiàn)思路有點(diǎn)類似插入排序,也分已排序區(qū)間和未排序區(qū)間。 showImg(https://segmentfault.com/img/bVbuvnj?w=900&h=250); 1. 前言 算法為王。 想學(xué)好前端,先練好內(nèi)功,...

    canger 評論0 收藏0
  • 排序算法(Java)——那些年面試常見的排序算法

    摘要:下面會介紹的一種排序算法快速排序甚至被譽(yù)為世紀(jì)科學(xué)和工程領(lǐng)域的十大算法之一。我們將討論比較排序算法的理論基礎(chǔ)并中借若干排序算法和優(yōu)先隊列的應(yīng)用。為了展示初級排序算法性質(zhì)的價值,我們來看一下基于插入排序的快速的排序算法希爾排序。 前言   排序就是將一組對象按照某種邏輯順序重新排列的過程。比如信用卡賬單中的交易是按照日期排序的——這種排序很可能使用了某種排序算法。在計算時代早期,大家普遍...

    Harpsichord1207 評論0 收藏0
  • JavaScript 數(shù)據(jù)結(jié)構(gòu)與算法之美 - 十大經(jīng)典排序算法匯總

    摘要:筆者寫的數(shù)據(jù)結(jié)構(gòu)與算法之美系列用的語言是,旨在入門數(shù)據(jù)結(jié)構(gòu)與算法和方便以后復(fù)習(xí)。這應(yīng)該是目前較為簡單的十大經(jīng)典排序算法的文章講解了吧。比如原本在的前面,而,排序之后,在的后面十大經(jīng)典排序算法冒泡排序思想冒泡排序只會操作相鄰的兩個數(shù)據(jù)。 showImg(https://segmentfault.com/img/bVbvHet); 1. 前言 算法為王。想學(xué)好前端,先練好內(nèi)功,內(nèi)功不行,就...

    zsy888 評論0 收藏0
  • Java面試題:穩(wěn)定和不穩(wěn)定排序算法之間的區(qū)別-MergeSort與QuickSort

    摘要:穩(wěn)定與不穩(wěn)定算法示例以下圖片解釋了穩(wěn)定和不穩(wěn)定的排序是如何工作的這就是穩(wěn)定和不穩(wěn)定排序算法之間的區(qū)別。穩(wěn)定排序算法的一些常見示例是合并排序,插入排序和冒泡排序。 showImg(https://segmentfault.com/img/remote/1460000018913243); 來源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Slogan | 連接每個程序員的故事 網(wǎng)...

    wanghui 評論0 收藏0
  • 常用排序算法之JavaScript實(shí)現(xiàn)

    摘要:代碼實(shí)現(xiàn)六堆排序算法簡介堆排序是指利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計的一種排序算法。九計數(shù)排序算法簡介計數(shù)排序是一種穩(wěn)定的排序算法。計數(shù)排序不是比較排序,排序的速度快于任何比較排序算法。 贊助我以寫出更好的文章,give me a cup of coffee? 2017最新最全前端面試題 1、插入排序 1)算法簡介 插入排序(Insertion-Sort)的算法描述是一種簡單直觀的排序算法。它...

    jerry 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<