JavaScript: DHTML Insertion Sort
JavaScript: DHTML Insertion Sort
This page demonstrates the Insertion Sort algorithm.
id | colour | random |
---|---|---|
1 | orange | 278 |
2 | purple | 33 |
3 | red | 859 |
4 | blue | 69 |
5 | yellow | 195 |
6 | orange | 404 |
7 | purple | 245 |
8 | green | 885 |
9 | blue | 339 |
10 | blue | 467 |
11 | red | 383 |
12 | orange | 398 |
13 | blue | 608 |
14 | purple | 489 |
15 | blue | 275 |
16 | purple | 781 |
17 | blue | 424 |
18 | yellow | 552 |
19 | purple | 612 |
20 | purple | 444 |
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.
Related Articles - Sorting Algorithms
- JavaScript DHTML Sorting Using OOP
- JavaScript DHTML Bubble Sort
- JavaScript DHTML Quick Sort
- JavaScript DHTML Shell Sort
- JavaScript DHTML Insertion Sort
- JavaScript DHTML Sorting Using OOP - Example 1
- PHP Sorting Arrays of Arrays
- PHP Sorting SimpleXMLElement Object arrays
Send a message to The Art of Web:
press <Esc> or click outside this box to close