日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解插入排序

插入排序,一般也被稱為直接插入排序。對于少量元素的排序,它是一個有效的算法 。插入排序是一種最簡單的排序方法,插入排序和冒泡排序一樣,也有一種優(yōu)化算法,叫做拆半插入,下面為大家詳細(xì)講解一下插入排序。

創(chuàng)新互聯(lián)公司主要業(yè)務(wù)有網(wǎng)站營銷策劃、成都網(wǎng)站設(shè)計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、微信小程序定制開發(fā)、H5開發(fā)、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、網(wǎng)絡(luò)營銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。 

算法步驟

將第一待排序序列第一個元素看做一個有序序列,把第二個元素到最后一個元素當(dāng)成是未排序序列。

從頭到尾依次掃描未排序序列,將掃描到的每個元素插入有序序列的適當(dāng)位置。(如果待插入的元素與有序序列中的某個元素相等,則將待插入元素插入到相等元素的后面。)

動圖演示

插入排序簡介插入排序簡介

代碼實(shí)現(xiàn)

JavaScript

實(shí)例

function insertionSort(arr) {
   var len = arr.length;
   var preIndex, current;
   for (var i = 1; i while(preIndex >= 0 && arr[preIndex] > current) {
           arr[preIndex+1] = arr[preIndex];
           preIndex--;
       }
       arr[preIndex+1] = current;
   }
   return arr;
}

Python

實(shí)例

def insertionSort(arr):
   for i in range(len(arr)):
       preIndex = i-1
       current = arr[i]
       while preIndex >= 0 and arr[preIndex] > current:
           arr[preIndex+1] = arr[preIndex]
           preIndex-=1
       arr[preIndex+1] = current
   return arr

Go

實(shí)例

func insertionSort(arr []int) []int {
       for i := range arr {
               preIndex := i - 1
               current := arr[i]
               for preIndex >= 0 && arr[preIndex] > current {
                       arr[preIndex+1] = arr[preIndex]
                       preIndex -= 1
               }
               arr[preIndex+1] = current
       }
       return arr
}

Java

實(shí)例

public class InsertSort implements IArraySort {

   @Override
   public int[] sort(int[] sourceArray) throws Exception {
       // 對 arr 進(jìn)行拷貝,不改變參數(shù)內(nèi)容
       int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);

       // 從下標(biāo)為1的元素開始選擇合適的位置插入,因為下標(biāo)為0的只有一個元素,默認(rèn)是有序的
       for (int i = 1; i while (j > 0 && tmp if (j != i) {
               arr[j] = tmp;
           }

       }
       return arr;
   }
}

PHP

實(shí)例

function insertionSort($arr)
{
   $len = count($arr);
   for ($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;
}

C

實(shí)例

void insertion_sort(int arr[], int len){
       int i,j,key;
       for (i=1;i=0) && (arr[j]>key)) {
                       arr[j+1] = arr[j];
                       j--;
               }
               arr[j+1] = key;
       }
}

C++

實(shí)例

void insertion_sort(int arr[],int len){
       for(int i=1;i
  
   while((j>=0) && (key
   
  

C#

實(shí)例

public static void InsertSort(int[] array)
{
   for(int i = 1;i for(int j = i - 1;j >= 0;j--)
       {
           if(array[j] > temp)
           {
               array[j + 1] = array[j];
               array[j] = temp;
           }
           else
               break;
       }
   }
}

Swift

實(shí)例

for i in 1..
  
   let temp = arr[i]    
   for j 
   in (0..
   reversed() {        if arr[j] > temp {            arr.swapAt(j, j+1)        }    } } 
  

新聞名稱:詳解插入排序
當(dāng)前網(wǎng)址:http://www.5511xx.com/article/cocooie.html