天天看点

插入排序

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

<code>public</code> <code>class</code> <code>InsertSort</code>

<code>{</code>

<code>    </code><code>public</code>

<code>static</code> <code>void</code> <code>sort(</code><code>int</code><code>[] a)</code>

<code>    </code><code>{</code>

<code>        </code><code>int</code>

<code>N = a.length;</code>

<code>count =</code><code>0</code><code>;</code>

<code>        </code><code>for</code>

<code>(</code><code>int</code> <code>i =</code><code>1</code><code>; i &lt; N; i++) </code><code>// 如果只有一个元素, i &lt; N 就不会成立,for循环就不执行</code>

<code>        </code><code>{</code>

<code>            </code><code>for</code>

<code>(</code><code>int</code> <code>j = i; j &gt;</code><code>0</code><code>; j--)</code>

<code>            </code><code>{</code>

<code>                </code><code>if</code>

<code>(a[j] &lt; a[j-</code><code>1</code><code>])</code>

<code>                </code><code>{</code>

<code>                    </code><code>int</code>

<code>temp =</code><code>0</code><code>;</code>

<code>                    </code><code>temp = a[j];</code>

<code>                    </code><code>a[j] = a[j-</code><code>1</code><code>];</code>

<code>                    </code><code>a[j-</code><code>1</code><code>] = temp;</code>

<code>                    </code><code>count++;</code>

<code>                </code><code>}</code>

<code>            </code><code>}          </code>

<code>        </code><code>}</code>

<code>        </code> 

<code>(</code><code>int</code> <code>i =</code><code>0</code><code>; i &lt; N; i++)</code>

<code>            </code><code>System.out.print(a[i] +</code><code>" "</code><code>);</code>

<code>        </code><code>System.out.println(</code><code>"count = "</code>

<code>+ count);</code>

<code>    </code><code>}</code>

<code>    </code> 

<code>static</code> <code>void</code> <code>main(String[] args)</code>

<code>        </code><code>int</code><code>[] a = {</code><code>6</code><code>,</code><code>2</code><code>,</code><code>5</code><code>,</code><code>3</code><code>,</code><code>1</code><code>,</code><code>4</code><code>};</code>

<code>        </code><code>InsertSort.sort(a);</code>

<code>}</code>

  运算过程: