用js實現插入排序

來源:互聯網
上載者:User

html源碼: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><script src="../../../../CommonJS/jquery-1.9.1.js"></script> <script src="../Js/InsertSort.js"></script> <link rel="stylesheet" type="text/css" href="../../../../CommCss/base.css"><title>插入排序</title></head><body  style="background-color: rgb(236, 236, 199);"><div class="TopDiv" style="left:380px"><span style="margin-left:20px">定序:輸入框中輸入以逗號隔開的的數字,排序結果按照從小到大升序排列</span><input type="text" style="width:400px;position:absolute;top:60px;left:20px" id="content"/><input type="button" id="click" value="單擊進行排序 "   style="width:120px;position:absolute;top:60px;left:445px"/><label style="width:100px;position:absolute;top:120px;left:20px">結果顯示區:</label><textarea id="conclude" style="width:500px;height:100px;position:absolute;top:160px;left:120px"></textarea></div></body></html>   js原始碼 複製代碼// JavaScript Document var myarr=[];$(function(){                  //單擊排序按鈕觸發的事件           $("#click").click(function(){               insert_mine();               })          document.onkeydown=function(event){              var  e=event||window.event||arguments.callee.caller.arguments[0];               if(e&&e.keyCode==13&&$("#content").is(":focus"))                      {                          insert_mine();                      }                                         }           })   var insert_mine=function(){    var content=$("#content");    if(!content.val()){alert("請輸入要排序的內容!");return false;};        var arr=content.val().split(",");        for(var  i=0;i<arr.length;i++)    {        if(isNaN(arr[i])){alert("輸入的有非法 數字,程式已經退出!");return false;}            myarr=arr_solve(myarr,arr[i]);    }        alert("排序結束。");        $("#conclude").val(myarr.toString());    myarr=[];}  var arr_solve=function(arr1,i){    debugger;    if(arr1.length==0)    {        arr1[0]=i;        }        else        {            for(var k=0;k<arr1.length;k++)            {            if(parseInt(arr1[k])>=parseInt(i)&&k<arr1.length)                {            //前面的 索引都不用 動 ,要動的是後面的索引            //arr[k]=i;                        for(var j=arr1.length;j>k;j--)            {                arr1[j]=arr1.slice(0)[j-1];                }                    arr1[k]=i;                        console.log(arr1.toString());                    return arr1;                    }                    else                    {                        if(arr1.length==k+1)                        {                        arr1[arr1.length]=i;                        console.log(arr1.toString());                        return arr1;                        }                                                                        }                                }                        }            console.log(arr1.toString());    return arr1;    }        

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.