樹心幽徑

« 20191229ubuntu1604boot repair after install win10 | Main | 20200102修改lifetype BLOG的summary.php選單 »

20191230用JavaScript設計插入與選擇排序法
2019/12/30,08:50

(1-1)在notepad輸入如下JS程式碼並存檔在桌面為d01.htm

<script>
var a = [9, 5, 8, 1, 3 , 2 , 7];
var i,j,t;
document.write("插入排序法<br>排序前 a[]="+a);
for (i=1;i<a.length;i++){
    t=a[i];
        document.write("<br> i=" + i +"待插入元素t=a[i]=" + a[i] + " : a[]=" + a);
        for (j=i;j>0 && t<a[j-1];j--) a[j]=a[j-1];
    a[j]=t;
        }
document.write("<br>排序後 a[]="+a);
</script>

(1-2) 用firefox開啟d01.htm,瀏覽結果如下:

插入排序法
排序前 a[]=9,5,8,1,3,2,7
i=1待插入元素t=a[i]=5 : a[]=9,5,8,1,3,2,7
i=2待插入元素t=a[i]=8 : a[]=5,9,8,1,3,2,7
i=3待插入元素t=a[i]=1 : a[]=5,8,9,1,3,2,7
i=4待插入元素t=a[i]=3 : a[]=1,5,8,9,3,2,7
i=5待插入元素t=a[i]=2 : a[]=1,3,5,8,9,2,7
i=6待插入元素t=a[i]=7 : a[]=1,2,3,5,8,9,7
排序後 a[]=1,2,3,5,7,8,9

 

(2-1)在notepad輸入如下JS程式碼並存檔在桌面為d02.htm

<script>
var b = [9, 5, 8, 1, 3 , 2 , 7];
var i,j,t;
document.write("選擇排序法<br>排序前 b[]="+b);
for (i=0;i<b.length-1;i++){
    var mini=i;
        for (j=i+1;j<b.length;j++){
            if (b[j]<b[mini]) mini=j;
        }
        t=b[mini];
        b[mini]=b[i];
        b[i]=t;
    document.write("<br>第"+i +"回合, b[]="+b);
        }
document.write("<br>排序後 b[]="+b);
</script>

(2-2) 用firefox開啟d02.htm,瀏覽結果如下:

選擇排序法
排序前 b[]=9,5,8,1,3,2,7
第0回合, b[]=1,5,8,9,3,2,7
第1回合, b[]=1,2,8,9,3,5,7
第2回合, b[]=1,2,3,9,8,5,7
第3回合, b[]=1,2,3,5,8,9,7
第4回合, b[]=1,2,3,5,7,9,8
第5回合, b[]=1,2,3,5,7,8,9
排序後 b[]=1,2,3,5,7,8,9

(2-3)在notepad輸入如下JS程式碼並存檔在桌面為d02f.htm

<script>
var b = [9, 5, 8, 1, 3 , 2 , 7];
var i,j,t;
document.write("選擇排序法<br>排序前 b[]="+b);
ssort();
document.write("<br>排序後 b[]="+b);

for (i=0;i<20;i++) b.push(30-i);
document.write("選擇排序法<br>排序前 b[]="+b);
ssort();
document.write("<br>排序後 b[]="+b);


function ssort(){
  for (i=0;i<b.length-1;i++){
    var mini=i;
        for (j=i+1;j<b.length;j++){
            if (b[j]<b[mini]) mini=j;
        }
        t=b[mini];
        b[mini]=b[i];
        b[i]=t;
    document.write("<br>第"+i +"回合, b[]="+b);
        }
}
</script>


(3)參考文章:

C++ :

JavaScript :

迴響

 
Accessible and Valid XHTML 1.0 Strict and CSS Powered by LifeType