首頁 >web前端 >js教程 >JavaScript如何以封裝的方式實現冒泡排序

JavaScript如何以封裝的方式實現冒泡排序

零到壹度
零到壹度原創
2018-04-09 15:20:052345瀏覽

最近小編在學習蔣坤的JavaScript視頻,裡面談到了js中實現冒泡排序的方法,並且做到了很好的封裝,以及靈活變動。具體的內容,請看正文。

未使用封裝的程式碼

 1.這段程式碼裡面的核心程式碼理解了,就很好完成。

<script type="text/javascript">
	var arr=[1,6,3]; 
	//冒泡
	 for(var i=0;i<arr.length;i++){
           for(var j=0;j<arr.length-1-i;j++){
		     
			//核心排序
			if(arr[j]>arr[j+1]){
			   var t=arr[j];
			   arr[j]=arr[j+1];
			   arr[j+1]=t;
			  }
	    }

         }		 
			alert(arr);
			
</script>

    運作顯示:

                                ##   

其中關於傳參的部分,決定是升序和降序的方法f,可以有兩種方法,實現預設使用升序,不添加f的方法參數,如下的程式碼:

<script type="text/javascript">                                                                                           
	     var arr=[1,6,3];             
	 //冒泡--添加了封装性的方法
             var mySort=function(arr,f){
	      for(var i=0;i<arr.length;i++){
                for(var j=0;j<arr.length-1-i;j++){
		     
			//核心排序依据			
			  if(f(arr[j],arr[j+1])>0){
			  var t=arr[j];
				 arr[j]=arr[j+1];
				 arr[j+1]=t;
			   }
		  }
                }
             };	 
              //传两个参数,一个待排序的数组,一个方法(判断是升序还是降序)
             //升序function(a,b){return a-b}; 
             mySort(arr,function(a,b){return b-a;});		
             alert(arr);
</script>
                 //默认使用升序
		 //默认不传参,f的值为undefined

對比

    使用封裝的方法,可以靈活地更改排序的方式,降序和升序。只需要在定義f這個方法時,更改一下條件即可,並且封裝好的排序方法,可以方便呼叫。

小結

    關於封裝的方法,在JavaScript中又得到了很好的學習認知。 不斷反复,

不斷累積~~~

#

以上是JavaScript如何以封裝的方式實現冒泡排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn