摘要:插入排序,簡單的理解就是找到適當(dāng)?shù)奈恢煤蟛迦?。如下圖代碼實(shí)現(xiàn)如下數(shù)組為空或者只有一個(gè)數(shù)字時(shí)返回定義來保存當(dāng)前的數(shù)遇到比小的數(shù)時(shí)跳出當(dāng)前循環(huán)位置的數(shù)即為比小的數(shù),因此插到后一位
插入排序,簡單的理解就是找到適當(dāng)?shù)奈恢煤蟛迦搿?/strong>
如下圖
代碼實(shí)現(xiàn)如下:
public static void insertSort(int[] nums) { //數(shù)組為空或者只有一個(gè)數(shù)字時(shí)返回 if(nums == null || nums.length < 2) return; //定義temp來保存當(dāng)前的數(shù) int temp = 0; for(int i = 1; i < nums.length; i++) { temp = nums[i]; int j; for(j = i-1; j >= 0; j--) { if(temp < nums[j]) { nums[j+1] = nums[j]; }else { //遇到比temp小的數(shù)時(shí)跳出當(dāng)前循環(huán) break; } } //j位置的數(shù)即為比temp小的數(shù),因此插到后一位 nums[j+1] = temp; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71314.html
摘要:常見的內(nèi)部排序算法有插入排序希爾排序選擇排序冒泡排序歸并排序快速排序堆排序基數(shù)排序等。插入排序在實(shí)現(xiàn)上,通常采用排序即只需用到的額外空間的排序,因而在從后向前掃描過程中,需要反復(fù)把已排序元素逐步向后挪位,為最新元素提供插入空間。 常見的內(nèi)部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數(shù)排序等。用一張圖概括: showImg(https://segm...
摘要:常見的內(nèi)部排序算法有插入排序希爾排序選擇排序冒泡排序歸并排序快速排序堆排序基數(shù)排序等。插入排序在實(shí)現(xiàn)上,通常采用排序即只需用到的額外空間的排序,因而在從后向前掃描過程中,需要反復(fù)把已排序元素逐步向后挪位,為最新元素提供插入空間。 常見的內(nèi)部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數(shù)排序等。用一張圖概括: showImg(https://segm...
摘要:常見的內(nèi)部排序算法有插入排序希爾排序選擇排序冒泡排序歸并排序快速排序堆排序基數(shù)排序等。插入排序在實(shí)現(xiàn)上,通常采用排序即只需用到的額外空間的排序,因而在從后向前掃描過程中,需要反復(fù)把已排序元素逐步向后挪位,為最新元素提供插入空間。 常見的內(nèi)部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數(shù)排序等。用一張圖概括: showImg(https://segm...
摘要:當(dāng)序列本身有序時(shí),插入排序的時(shí)間復(fù)雜度為。因?yàn)榇藭r(shí)的分區(qū)內(nèi)數(shù)據(jù)往往是近似有序的,所以使用快排并不一定優(yōu)于插入排序。 聲明:碼字不易,轉(zhuǎn)載請注明出處,歡迎文章下方討論交流。 前言:Java數(shù)據(jù)結(jié)構(gòu)與算法專題會不定時(shí)更新,歡迎各位讀者監(jiān)督。本篇文章介紹排序算法中插入排序算法,包括插入排序的思路,適用場景,性能分析,java代碼等 0、其他排序算法索引(待更) java數(shù)據(jù)結(jié)構(gòu)與算法——快速...
摘要:直接插入排序的算法重點(diǎn)在于尋找插入位置。也稱縮小增量排序,是直接插入排序算法的一種更高效的改進(jìn)版本。希爾排序是非穩(wěn)定排序算法。簡單選擇排序常用于取序列中最大最小的幾個(gè)數(shù)時(shí)。將新構(gòu)成的所有的數(shù)的十位數(shù)取出,按照十位數(shù)進(jìn)行排序,構(gòu)成一個(gè)序列。 1.直接插入排序 直接插入排序算法是排序算法中最簡單的,但在尋找插入位置時(shí)的效率不高。基本思想就是將一個(gè)待排序的數(shù)字在已經(jīng)排序的序列中尋找找到一個(gè)插...
摘要:向后移動(dòng)位簡單選擇排序基本思想常用于取序列中最大最小的幾個(gè)數(shù)時(shí)。代碼實(shí)現(xiàn)循環(huán)次數(shù)選出最小的值和位置交換位置堆排序基本思想對簡單選擇排序的優(yōu)化。 概述 常見的八大排序算法,它們之間的關(guān)系如下: showImg(https://segmentfault.com/img/remote/1460000011395738?w=880&h=671); 直接插入排序 希爾排序 簡單選擇排序 堆排序...
閱讀 2189·2023-04-25 19:06
閱讀 1389·2021-11-17 09:33
閱讀 1777·2019-08-30 15:53
閱讀 2599·2019-08-30 14:20
閱讀 3554·2019-08-29 12:58
閱讀 3553·2019-08-26 13:27
閱讀 514·2019-08-26 12:23
閱讀 494·2019-08-26 12:22