插入排序
插入排序是这样实现的:
首先新建一个空列表,用于保存已排序的有序数列(我们称之为"有序列表")。
从原数列中取出一个数,将其插入"有序列表"中,使其仍旧保持有序状态。
重复2号步骤,直至原数列为空。
插入排序的平均时间复杂度为平方级的,效率不高,但是容易实现。它借助了"逐步扩大成果"的思想,使有序列表的长度逐渐增加,直至其长度等于原列表的长度。
(引自百度百科)
javascript代码- <script type="text/javascript">
- var org = [5, 4, 3, 2, 1, 6, 7, 9, 8, 10];
- var tempArr = new Array();
- for (var i = 0; i < org.length; i++) {
- if (i == 0) {
- tempArr[0] = org[0]; //把第一个元素放到新序列
- } else {
- for (var j = 0; j < tempArr.length; j++) {
- if (org[i] > tempArr[j]) {
- //如果是新序列的最后一个元素,则插入
- if (j == tempArr.length - 1) {
- tempArr[j + 1] = org[i];
- break;
- } else {//如果不是最后一个元素,则往后移动
- continue;
- }
- } else {
- //移动新序列、然后插入
- for (var k = tempArr.length - 1; k >= j; k--) {
- tempArr[k + 1] = tempArr[k];
- }
- tempArr[j] = org[i];
- break;
- }
- }
- }
- }
- alert(tempArr);
- </script>
复制代码 |