<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【算法】插入排序(Insertion Sort)(三)

      插入排序(Insertion Sort)

      插入排序(Insertion-Sort)的算法描述是一種簡單直觀的排序算法。它的工作原理是通過構建有序序列,對于未排序數據,在已排序序列中從后向前掃描,找到相應位置并插入。

      1. 算法描述

      一般來說,插入排序都采用in-place在數組上實現。具體算法描述如下:

      • 從第一個元素開始,該元素可以認為已經被排序;
      • 取出下一個元素,在已經排序的元素序列中從后向前掃描;
      • 如果該元素(已排序)大于新元素,將該元素移到下一位置;
      • 重復步驟3,直到找到已排序的元素小于或者等于新元素的位置;
      • 將新元素插入到該位置后;
      • 重復步驟2~5。

      2.動圖演示

      3.代碼實現

      //javascript實現
      function insertionSort(arr) {
          var len = arr.length;
          var preIndex, current;
          for (var i = 1; i < len; i++) {
              preIndex = i - 1;
              current = arr[i];
              while (preIndex >= 0 && arr[preIndex] > current) {
                  arr[preIndex + 1] = arr[preIndex];
                  preIndex--;
              }
              arr[preIndex + 1] = current;
          }
          return arr;
      }
      
      //java實現
      public class InsertSort implements IArraySort {
      
          @Override
          public int[] sort(int[] sourceArray) throws Exception {
              // 對 arr 進行拷貝,不改變參數內容
              int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
      
              // 從下標為1的元素開始選擇合適的位置插入,因為下標為0的只有一個元素,默認是有序的
              for (int i = 1; i < arr.length; i++) {
      
                  // 記錄要插入的數據
                  int tmp = arr[i];
      
                  // 從已經排序的序列最右邊的開始比較,找到比其小的數
                  int j = i;
                  while (j > 0 && tmp < arr[j - 1]) {
                      arr[j] = arr[j - 1];
                      j--;
                  }
      
                  // 存在比其小的數,插入
                  if (j != i) {
                      arr[j] = tmp;
                  }
      
              }
              return arr;
          }
      }
      

      4.算法分析

      插入排序在實現上,通常采用in-place排序(即只需用到O(1)的額外空間的排序),因而在從后向前掃描過程中,需要反復把已排序元素逐步向后挪位,為最新元素提供插入空間。

      posted @ 2022-03-15 23:04  HZX↑  閱讀(38)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产午夜影视大全免费观看| 2022最新国产在线不卡a| 亚洲a∨国产av综合av| 2021久久精品国产99国产精品| 精品精品久久宅男的天堂| 忘记穿内裤被同桌摸到高潮app| 国产精品久久久久aaaa| 丰满的少妇一区二区三区| 国产普通话对白刺激| 中文字幕av无码一区二区蜜芽三区 | 国产乱子伦视频在线播放| 777奇米四色成人影视色区| 国产精品三级国产精品高| 影音先锋男人站| 在线看国产精品自拍内射| 亚洲国产韩国欧美在线| 国产成人高清精品免费软件| 亚洲乱理伦片在线观看中字| 麻豆一区二区中文字幕| 欧洲免费一区二区三区视频| 青铜峡市| 成人av天堂网在线观看| 一边捏奶头一边高潮视频| 麻豆亚州无矿码专区视频| 成人免费无码视频在线网站| 女同亚洲精品一区二区三| 人妻少妇邻居少妇好多水在线| 伊人久久大香线蕉网av| 久热伊人精品国产中文| 深夜精品免费在线观看| 亚洲一区二区三区av激情| 熟女人妇 成熟妇女系列视频| 亚洲国产成人va在线观看天堂| 久久精品熟女亚洲av艳妇| 国产99精品成人午夜在线| 日本高清www无色夜在线视频| 99在线精品视频观看免费| 亚洲一二三区精品美妇| 久久亚洲国产精品久久| 国产亚洲精品AA片在线爽| 久久一区二区中文字幕|