1. 程式人生 > >java 直接插入排序詳解

java 直接插入排序詳解

1.直接插入排序比較簡單就不做更多的介紹了

請看程式碼:

public static void insertSort(int[] arr) {
    	for (int i = 1; i < arr.length; i++) {
			int temp =arr[i];//記錄要插的資料
			int j =0;
			for (j = i-1;  j>=0; j--) {
				if (arr[j]>temp) {
					arr[j+1] =arr[j];
				}else {
					break;
				}
			}
			arr[j+1] =temp;//交換
		}
    }

相關推薦

java 直接插入排序

1.直接插入排序比較簡單就不做更多的介紹了 請看程式碼: public static void insertSort(int[] arr) { for (int i = 1; i < arr.length; i++) { int temp =arr[

Java常見排序演算法之插入排序

一、簡介 插入排序,就是假定一個參考值,假設該參考值左邊的元素都有序,那麼從該元素開始從後往前挨個查詢,如果找到比參考值大的數,那麼就將這個大的數後移,如果未找到比參考值大的數,說明不用移動元素。迴圈比較,這樣經過比較後移之後就會空出下標為0的位置,用於存放這個參考值。

插入排序Java實現)

一、基本思想     插入排序(Insertion-Sort)的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃描,找到相應位置並插入。 二、演算法描述     1.從第一個元素開始,該元素可以認為已經被

演算法導論--JAVA實現合併排序

最近複習演算法的基本知識,主要是看《演算法導論》,根據書本中的虛擬碼寫java程式碼。以下是合併排序的程式碼: public class MergeSort { /** * @Title: merge * @Description:將左右兩個已排序的子數組合併為

折半插入排序

    演算法的基本過程:    1)計算 0 ~ i-1 的中間點,用 i 索引處的元素與中間值進行比較,如果 i 索引處的元素大,說明要插入的這個元素應該在中間值和剛加入i索引之間,反之,就是在剛開始的位置 到中間值的位置,這樣很簡單的完成了折半;    2)在

Java直接插入排序

public class InsertSort { public static void main(String[] args) { int[] nums = {3, 60,

直接插入排序演算法

直接插入排序演算法到底是什麼個情況呢? 我們看到“直接”2個字,說明這個演算法應該是先得到我們插入的位置,然後就直接插入進去沒有什麼比較過程就插入進去了。 那麼直接插入排序演算法的本質是什麼呢,比如我們有一個有序陣列 1 2 3 4 5 6 8 9 我

新手必看——JAVA排序(氣泡排序插入排序)

對於排序,它一直不厭其煩的出現在企業面試初級工程師的筆試題中,不管是氣泡排序還是插入排序,我們經常會在在初級面試題中遇見,就好像它已成為一種面試的標準。而對於程式設計師來說,基本排序就真的這麼重要嗎?當然不,作為一個老司機的我們已經知道,對於新手很心累的各種

Java與算法之(9) - 直接插入排序

set reat 正是 stat copy boa 派生 creat 人的 直接插入排序是最簡單的排序算法,也比較符合人的思維習慣。想像一下玩撲克牌抓牌的過程。第一張抓到5,放在手裏;第二張抓到3,習慣性的會把它放在5的前面;第三張抓到7,放在5的後面;第四張抓到4,那麽我

java中Collections.sort排序

比較器 元素 .net 字符 atp style pri com 實現接口 Comparator是個接口,可重寫compare()及equals()這兩個方法,用於比價功能;如果是null的話,就是使用元素的默認順序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f

InsertionSort 直接插入排序java

string static 數字 nbsp ava 思想 oid sta and 排序思想: 相當於一堆數字,一開始先取出2個數排序,2個數排好序之後,再從一堆數字裏面取一個數排序,直到結束偽代碼: INSERTION_SORT(A) for j = 2 to A.leng

【算法拾遺(java描寫敘述)】--- 插入排序直接插入排序、希爾排序

ecan itblog insert med image java程序 can rip title 插入排序基本思想 每次將一個待排序的記錄按其keyword大小插入到前面已經拍好序的子文件的適當位置,直到全部記錄插入完畢為止。 直接插入

八大排序算法原理以及Java實現(直接插入排序

不能 oat 設立 side 堆排 八大排序 算法 line load 概述 排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。 我們這裏說說八大排序就是內部排序。

直接插入排序(Java實現)

插入排序 直接插入排序 javastatic void insertionSort(int[] unsorted){ for (int i = 1; i < unsorted.length; i++) { if (unsorted[i - 1] > unsorted[i])

歸併排序java實現(超

歸併排序,見名知意,就是遞迴+合併 原理: 使用遞迴的手段,達到分割的目的,在分割後進行合併,合併也是遞迴的,這就是這裡的雙向過程都是遞迴進行的,結果如圖: 示例(例項): 以一下一串數字為例,首先進行拆分,然後合併,在合併的過程,進行排序,這裡需要說明的是,遞迴在整個過程中都

直接插入排序 java實現

直接插入排序的演算法思路是: 基於給定的一個數組,初始時假設第一個記錄自成一個有序序列,其餘記錄為無序序列。接著從第二個記錄開始,按照記錄的大小依次將當前處理的記錄插入到其之前的有序序列中,直至最後一個記錄插入到有序序列中為止。 package demo; public clas

java實現 》從 》 直接插入排序 》到》 希爾排序

直接插入排序和希爾排序,把這兩個放一起是便於記憶,這兩個排序是差不多的,希爾排序也只是對插入排序進行一點修改: 首先是看一下我們的插入排序: package sort; public class InsertSort { public static void main(String[]

java幾種排序簡單實現(快速排序,氣泡排序直接插入排序

package Test; import com.alibaba.fastjson.JSONObject; public class Test { static int[] arrays = new int[] { 3, 10, 11, 1, 8, 2, 9, 4 }; // index

Java】 大話資料結構(18) 排序演算法(5) (直接插入排序) 資料結構與演算法合集 資料結構與演算法合集

本文根據《大話資料結構》一書,實現了Java版的直接插入排序。 更多:資料結構與演算法合集 基本概念   直接插入排序思路:類似撲克牌的排序過程,從左到右依次遍歷,如果遇到一個數小於前一個數,則將該數插入到左邊所有比自己大的數之前,也就是說,將該數前面的所有更大的數字都後移一位,空出來的位置放入該數。

Java基礎練習03--直接插入排序

       直接插入排序是一種簡單的排序方法,它的基本操作是將一個紀錄插入到已經排好的記錄中,從而得到一個新的、記錄數增1的有序表。 程式碼: import java.util.Arrays; /** * 使用陣列進行演示: