排序::shell排序

来源:互联网 发布:富士钓具淘宝旗舰店 编辑:程序博客网 时间:2024/06/06 00:35
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    
<head>
        
<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
        
<title>Untitled Document</title>
    
</head>
    
<body>
        
<p>
            希尔排序法:由间隔gap=n/2开始,将第i个数据与第i+gap位置的数据进行比较,若位置为I的数据较大,
        
</p>
        
<p>
            则互换并与i+2*gap的数据进行比较直到n-gap为止。然后再互换gap=gap/2直到gap=0为止。
        
</p>
        
<script type="text/javascript">
            
function shell_sort(arr){
                
var len = arr.length;
                
for (var gap = Math.floor(len / 2); gap > 0; gap = Math.floor(gap / 2)) {
                    
for (var i = gap; i < len ; i++{
                        
for(var j = i - gap;j >= 0; j = j - gap) {
                            
if (arr[j] > arr[j+gap]) {
                                tmp 
= arr[j];
                                arr[j] 
= arr[j+gap];
                                arr[j
+gap] = tmp;                               
                            }

                        }

                    }

                }

                
return arr;
            }

            
var arr=[82,16,9,95,27,75,42,69,34];
            arr
=shell_sort(arr);
            
//alert(Math.floor(9/ 2));
            alert(arr);
        
</script>
    
</body>
</html>
原创粉丝点击