skip to content

JavaScript: DHTML Insertion Sort

JavaScript: DHTML Insertion Sort

This page demonstrates the Insertion Sort algorithm.

idcolourrandom
1orange357
2orange694
3blue605
4blue898
5red202
6blue618
7green990
8yellow425
9yellow182
10blue75
11green361
12blue66
13orange470
14red240
15green683
16blue659
17yellow204
18blue142
19yellow823
20yellow419
Sort by DESC?

[add rows to TABLE]

How does it work?

For a more detailed discussion on the sorting process, you can refer to the Bubble Sort page. The only difference between the two is the actual sorting algorithm, with the Insertion Sort, in theory, being a little bit faster:

// global variables var parent = null; // 'parent' node var items = new Array(); // array of 'child' nodes var col = 0; // column for sorting function sortTable(tableid, n, desc) { parent = document.getElementById(tableid); col = n; if(parent.nodeName != "TBODY") parent = parent.getElementsByTagName("TBODY")[0]; if(parent.nodeName != "TBODY") return false; // assert: parent is now a TBODY node items = parent.getElementsByTagName("TR"); var N = items.length; // insertion sort for(var j=1; j < N; j++) { for(var i=j; i > 0 && compare(get(i), get(i-1), desc); i--) { exchange(i, i-1); } } }

For more advanced (and complicated) sorting techniques, see the Shell Sort and Quick Sort demonstrations.

< JavaScript

Post your comment or question
top