美文网首页
基础☞排序

基础☞排序

作者: 掌灬纹 | 来源:发表于2019-01-21 10:20 被阅读0次

    三个基础排序之 冒泡,选择,直接插入排序

    怎样理解并且快速记忆?对于排序,理解并快速记忆的方法即是用生活实例形象化

    1.对于冒泡和选择排序,两者很相似,简单理解为排队(从小到大),每次排一个最高的出来站到最后,只是冒泡是每次遇到比当前高的就换一下,选择排序是找到你应该的位置站好,都需要两重循环控制。

    2.直接插入排序就相当于抓牌,从第一张抓,每抓一张都排好,最后自然是排好顺序的。

    (Java实现代码如下)

    /**

    * 冒泡排序(从小到大)

    * @param int[] arr

    *

    */

    public void bubbleSort(int[] arr) {

    for(int ding = arr.length - 1; ding >=0; ding--) {

    for(int i = 0; i < ding; i++) {

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

    int temp = arr[i];

    arr[i] = arr[i+1];

    arr[i+1] = temp;

    }

    }

    }

    }

    /**

    * 选择排序(从小到大)

    * @param int[] arr

    *

    */

    public void selectSort(int[] arr) {

    for(int ding = arr.length-1; ding >= 0; ding--) {

    int maxIndex = 0;

    int maxValue = arr[0];

    for(int i = 0; i <= ding; i++) {

    if(arr[i] > maxValue) {

    maxIndex = i;

    maxValue = arr[i];

    }

    }

    new SearchSortDemo().swap(arr, maxIndex, ding);

    }

    }

    /**

    * 直接插入排序(从小到大)

    * @param int[] arr

    *

    */

    public void insertSort(int[] arr) {

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

    int lastIndex = i-1;

    int newValue = arr[i];

    while(lastIndex >= 0&&newValue < arr[lastIndex]) {

    arr[lastIndex+1] = arr[lastIndex];

    lastIndex--;

    }

    arr[lastIndex + 1] = newValue;

    }

    }

    相关文章

      网友评论

          本文标题:基础☞排序

          本文链接:https://www.haomeiwen.com/subject/llaxjqtx.html