Jump to content

Insertion Sort: Difference between revisions

From Encyclopedia of Algorithms
Created page with "{{Infobox algorithm | name = Insertion sort | signature = <span class="eoa-proc">Insertion-Sort</span>(<span class="eoa-var">A</span>, <span class="eoa-var">n</span>) | code = # '''for''' <span class="eoa-var">i</span> = 2 '''to''' <span class="eoa-var">n</span> # {{I}}<span class="eoa-var">key</span> = <span class="eoa-var">A</span>[<span class="eoa-var">i</span>] # {{I}}<span class="eoa-var">j</span> = <span class="eoa-var">i</span> − 1 # {{I}}'''while''' <span c..."
 
Add the algorithm.
 
Line 1: Line 1:
{{Stub}}
{{Infobox algorithm
{{Infobox algorithm
| name = Insertion sort
| name = Insertion sort
| signature = <span class="eoa-proc">Insertion-Sort</span>(<span class="eoa-var">A</span>, <span class="eoa-var">n</span>)
| signature = Insertion-Sort(A)
| code =
| code =
# '''for''' <span class="eoa-var">i</span> = 2 '''to''' <span class="eoa-var">n</span>
for i = 2 to A.length
# {{I}}<span class="eoa-var">key</span> = <span class="eoa-var">A</span>[<span class="eoa-var">i</span>]
    key = A[i]
# {{I}}<span class="eoa-var">j</span> = <span class="eoa-var">i</span> &minus; 1
    j = i - 1
# {{I}}'''while''' <span class="eoa-var">j</span> &gt; 0 '''and''' <span class="eoa-var">A</span>[<span class="eoa-var">j</span>] &gt; <span class="eoa-var">key</span>
    while j > 0 and A[j] > key
# {{I}}{{I}}<span class="eoa-var">A</span>[<span class="eoa-var">j</span> + 1] = <span class="eoa-var">A</span>[<span class="eoa-var">j</span>]
        A[j + 1] = A[j]
# {{I}}{{I}}<span class="eoa-var">j</span> = <span class="eoa-var">j</span> &minus; 1
        j = j - 1
# {{I}}<span class="eoa-var">A</span>[<span class="eoa-var">j</span> + 1] = <span class="eoa-var">key</span>
    A[j + 1] = key
}}
}}

Latest revision as of 19:33, 3 August 2026

This article is a stub. It might be missing pseudocode, complexity analysis, or a correctness sketch. It might need some other information which is incomplete perhaps.

Insertion sort
Insertion-Sort(A)
  1. for i = 2 to A.length
  2. key = A[i]
  3. j = i - 1
  4. while j > 0 and A[j] > key
  5. A[j + 1] = A[j]
  6. j = j - 1
  7. A[j + 1] = key