簡單的冒泡以及雙向冒泡排序案列
這次帶給大家簡單的冒泡以及雙向冒泡排序案列,使用冒泡序列有哪些注意事項? ,下面就是實戰案例,一起來看一下。
冒泡排序範例,雙向冒泡排序與對雙向冒泡排序稍微的改進的視覺化效果。
冒泡排序範例
var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ]; for(var i=0;i<ls.length;i++){ for(var j=i+1;j<ls.length;j++){ if(ls[i]>ls[j]){ ls[i]=ls[i]+ls[j]; ls[j]=ls[i]-ls[j]; ls[i]=ls[i]-ls[j]; } } }
雙向冒泡排序範例
var ls=[ 6,13,98,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ]; for(var i=0;i<ls.length;i++){ for(var j=i+1;j<ls.length-i;j++){ if(ls[lent-1-i]<ls[lent-j]){ ls[lent-1-i]=ls[lent-1-i]+ls[lent-j]; ls[lent-j]=ls[lent-1-i]-ls[lent-j]; ls[lent-1-i]=ls[lent-1-i]-ls[lent-j]; }//后面的比较 if(ls[i]>ls[j]){ ls[i]=ls[i]+ls[j]; ls[j]=ls[i]-ls[j]; ls[i]=ls[i]-ls[j]; }//前面的比较 } }
雙向冒泡排序稍微改善範例
var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ]; var lent=ls.length; for(var i=0;i<ls.length;i++){ for(var j=i*2;j<ls.length-2*i;j++){ if(ls[i*2]>ls[j+1]){ ls[i*2]=ls[i*2]+ls[j+1]; ls[j+1]=ls[i*2]-ls[j+1]; ls[i*2]=ls[i*2]-ls[j+1]; }//保持内层第一个数为循环最小 if(ls[lent-i*2-1]<ls[lent-j-1]){ ls[lent-i*2-1]=ls[lent-i*2-1]+ls[lent-j-1]; ls[lent-j-1]=ls[lent-i*2-1]-ls[lent-j-1]; ls[lent-i*2-1]=ls[lent-i*2-1]-ls[lent-j-1]; }////保持内层倒数第一个数为循环最大 if(ls[lent-2-i*2]<ls[lent-j-1]){ ls[lent-2-i*2]=ls[lent-2-i*2]+ls[lent-j-1]; ls[lent-j-1]=ls[lent-2-i*2]-ls[lent-j-1]; ls[lent-2-i*2]=ls[lent-2-i*2]-ls[lent-j-1]; }//倒数上一个 if(ls[i*2+1]>ls[j+1]){ ls[i*2+1]=ls[i*2+1]+ls[j+1]; ls[j+1]=ls[i*2+1]-ls[j+1]; ls[i*2+1]=ls[i*2+1]-ls[j+1]; }//下一个 } }
相信讀了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
以上是簡單的冒泡以及雙向冒泡排序案列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

JavaScript中常見的冒泡事件:掌握常用事件的冒泡特性,需要具體程式碼範例引言:在JavaScript中,事件冒泡是指事件會從嵌套層次最深的元素開始向外層元素傳播,直到傳播到最外層的父級元素。了解並掌握常見的冒泡事件,可以幫助我們更好地處理使用者互動和事件處理。本文將介紹一些常見的冒泡事件,並提供具體的程式碼範例來幫助讀者更好地理解。一、點擊事件(click

JS事件中哪些不會冒泡?在JavaScript中,事件冒泡是指當一個元素觸發了某個事件時,該事件會逐級向上冒泡到更高層的元素,直到冒泡到文檔根節點。然後,事件處理程序會依照冒泡的順序依序執行。然而,並不是所有的事件都會冒泡。有些事件觸發後只會執行目標元素上的事件處理程序,而不會冒泡到更高層的元素上。以下是一些常見的不會冒泡的事件:focus和blur事件:

為何同一個事件冒泡會重複發生兩次?事件冒泡是瀏覽器中常見的事件傳遞機制。當一個元素觸發了某個事件,這個事件將會從被觸發的元素開始向上級元素依序傳遞,直到傳遞到了文件的根元素。這個過程就像水泡在水中冒起,所以被稱為事件冒泡。然而,有時我們會發現同一個事件冒泡會重複發生兩次,這是為什麼呢?原因主要有兩個面向:事件註冊和事件處理。首先,我們需要先明確的是,事件

先捕獲還是先冒泡?解析事件流程的優劣勢事件流程是Web開發中一個重要的概念,它描述了事件從發生到被處理的過程。在處理事件時,有兩種主要的流程模型:先捕捉後冒泡和先冒泡後捕捉。這兩種模式在不同的場景下各有優劣勢,需要根據實際情況選擇合適的模式。先捕獲後冒泡是指在事件冒泡階段前,先執行事件捕獲階段。事件捕獲階段從事件目標的根節點開始,逐級向下傳遞,直到到達目標元

學習點擊事件冒泡,掌握前端開發中的關鍵概念,需要具體程式碼範例前端開發是當今網路時代中的一個重要領域,而事件冒泡是前端開發中的關鍵概念之一。理解和掌握事件冒泡對於編寫高效的前端程式碼至關重要。本文將介紹什麼是事件冒泡,以及如何在前端開發中使用事件冒泡的概念。一、什麼是事件冒泡事件冒泡是指當一個元素上的事件被觸發時,會先從最內層的元素開始,然後逐級向父級元素

掌握事件冒泡,輕鬆實現複雜互動效果,需要具體程式碼範例事件冒泡(EventBubbling)是前端開發中一個重要的概念,它指的是當一個元素上的事件被觸發後,該事件會自動向父級元素傳播,直到傳播到文檔根元素。掌握了事件冒泡的原理和應用,我們可以輕鬆實現複雜的互動效果,提升使用者體驗。以下將透過具體的程式碼範例,來幫助讀者更好地理解和應用事件冒泡。程式碼範例一:點擊展

點擊事件冒泡的作用及其對網頁互動的影響在網頁開發中,事件是實現互動和回應使用者操作的關鍵。其中,事件冒泡是一種常見的事件機制,它允許一個嵌套的元素層次結構中的事件同時被多個元素回應。本文將詳細解釋點擊事件冒泡的作用,並說明它對網頁互動的影響,同時提供一些具體的程式碼範例。一、點選事件冒泡的概念點選事件冒泡(ClickEventBubbling)指的是當一個元

如何利用點擊事件冒泡實現更靈活的網頁互動體驗引言:在前端開發中,我們經常會遇到需要在網頁的一部分元素上添加點擊事件的情況。然而,如果頁面中的元素很多,為每個元素都添加點擊事件將變得非常繁瑣和低效。點擊事件冒泡可以幫助我們解決這個問題,透過將點擊事件新增到公共父元素上,實現更靈活的網頁互動體驗。一、點擊事件冒泡的原理點擊事件冒泡是指當一個元素上的點擊事件被觸
