插入排序(演算法第四版)

2021-08-19 03:10:43 字數 956 閱讀 2003

原理闡述:就像打牌一樣,拿到手上的是無序的牌,從第二張開始,將牌一張一張與前面的比較,遇到第乙個比自己小的,就插在它後面,依次執行到最後一張,結束後,就排好序了

note:

3   5   2   1  

以2為例

3 2 5 1

2 3 5 1

2 3 1 5

2 1 3 5

1 2 3 5

**實現

package 排序;

import edu.princeton.cs.algs4.stddraw;

import edu.princeton.cs.algs4.stdin;

import edu.princeton.cs.algs4.stdout;

public

class

insertion }}

private

static

boolean

less(comparable x,comparable y)

private

static

void

exch(comparable a, int x, int y)

private

static

void

show(comparable a)

}private

static

boolean

issort(comparable a)

return

true;

}@suppresswarnings("deprecation")

public

static

void

main(string args)

}

《演算法(第四版)》排序 插入排序

插入排序與選擇排序一樣,當前索引左邊的所有元素都是有序的,但和選擇排序不一樣的是它們的位置不是固定的,可能為了更小的元素騰出空間,它們向後移動,但是當索引達到陣列的右端時,陣列排序就完成了 使用插入排序為一列數字進行排序的過程 具體演算法描述如下 從第乙個元素開始,該元素可以認為已經被排序 取出下乙...

演算法 第四版 之選擇排序和插入排序

排序在我們的生活和生產中是很重要的,據說在計算時代早期,大家普遍認為30 的計算週期都用在了排序上,現在的這個比例下降了,原因可能是排序演算法更加高效,但絕不可能是因為排序的重要性降低了 這篇文章不會像書上說的那樣實現comparable介面,接下來的所有 都將是對整型陣列的操作 選擇排序的思路很簡...

《演算法(第四版)》排序 模板

本書對排序類演算法有乙個模板,包括了以下幾種方法 1 sort 這個方法裡面實現的就是排序的演算法 2 less 這個方法裡是利用了comparable介面裡的compareto方法,其中compareto方法對於本物件與傳入的比較物件小於,等於,大於,分別返回負數,0,正數 這個方法如果compa...