经典排序算法 - 冒泡排序Bubble sort
经典排序算法 - 冒泡排序Bubble sort
原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,
这样一趟过去后,最大或最小的数字被交换到了最后一位,
然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子
例子为从小到大排序,
原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 |
第一趟排序(外循环)
第一次两两比较6 > 2交换(内循环)
交换前状态| 6 | 2 | 4 | 1 | 5 | 9 |
交换后状态| 2 | 6 | 4 | 1 | 5 | 9 |
第二次两两比较,6 > 4交换
交换前状态| 2 | 6 | 4 | 1 | 5 | 9 |
交换后状态| 2 | 4 | 6 | 1 | 5 | 9 |
第三次两两比较,6 > 1交换
交换前状态| 2 | 4 | 6 | 1 | 5 | 9 |
交换后状态| 2 | 4 | 1 | 6 | 5 | 9 |
第四次两两比较,6 > 5交换
交换前状态| 2 | 4 | 1 | 6 | 5 | 9 |
交换后状态| 2 | 4 | 1 | 5 | 6 | 9 |
第五次两两比较,6
交换前状态| 2 | 4 | 1 | 5 | 6 | 9 |
交换后状态| 2 | 4 | 1 | 5 | 6 | 9 |
第二趟排序(外循环)
第一次两两比较2
交换前状态| 2 | 4 | 1 | 5 | 6 | 9 |
交换后状态| 2 | 4 | 1 | 5 | 6 | 9 |
第二次两两比较,4 > 1交换
交换前状态| 2 | 4 | 1 | 5 | 6 | 9 |
交换后状态| 2 | 1 | 4 | 5 | 6 | 9 |
第三次两两比较,4
交换前状态| 2 | 1 | 4 | 5 | 6 | 9 |
交换后状态| 2 | 1 | 4 | 5 | 6 | 9 |
第四次两两比较,5
交换前状态| 2 | 1 | 4 | 5 | 6 | 9 |
交换后状态| 2 | 1 | 4 | 5 | 6 | 9 |
第三趟排序(外循环)
第一次两两比较2 > 1交换
交换后状态| 2 | 1 | 4 | 5 | 6 | 9 |
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
第二次两两比较,2
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
第三次两两比较,4
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
第四趟排序(外循环)无交换
第五趟排序(外循环)无交换
function bubble_sort($arr=array(1,43,54,62,21,66,32,78,36,76,39)) { $len = count($arr); //该层循环控制 需要冒泡的轮数 for($i=1; $i $arr[$k+1]) { $tmp = $arr[$k+1]; $arr[$k+1] = $arr[$k]; $arr[$k] = $tmp; @$arr['cly_times'] +=1; //设置循环结束 } } if ($arr['cly_times'] == $arr['cly_times']-1) { return $arr; } } return $arr; }
以上就介绍了经典排序算法 - 冒泡排序Bubble sort,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Von px zu rem: Die Entwicklung und Anwendung von CSS-Layouteinheiten Einführung: In der Front-End-Entwicklung müssen wir häufig CSS verwenden, um das Seitenlayout zu implementieren. In den letzten Jahren haben sich CSS-Layouteinheiten weiterentwickelt und weiterentwickelt. Ursprünglich verwendeten wir Pixel (px) als Einheit, um die Größe und Position von Elementen festzulegen. Mit dem Aufkommen des Responsive Designs und der Beliebtheit mobiler Geräte haben Pixeleinheiten jedoch nach und nach einige Probleme aufgedeckt. Um diese Probleme zu lösen, wurde die neue Einheit rem ins Leben gerufen und nach und nach im CSS-Layout weit verbreitet. eins

CSS-Rahmeneigenschaften im Detail erklärt: Padding, Margin und BorderCSS ist eine Stylesheet-Sprache, die zur Steuerung und Gestaltung von Webseitenelementen verwendet wird. Im Webdesign ist das Randattribut einer der wichtigsten Teile. In diesem Artikel wird die Verwendung des Border-Attributs in CSS ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt. padding Mit der padding-Eigenschaft wird der Abstand eines Elements festgelegt, also der Abstand zwischen dem Inhalt des Elements und den Rändern des Elements. Wir können die Auffüllung mit positiven Zahlen oder Prozentwerten festlegen

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

In CSS ist margin eine Eigenschaft, mit der die äußeren Ränder eines Elements festgelegt werden. Ränder sind der Abstand zwischen dem Rand eines Elements und seinem Inhalt. Der Rand kann die folgenden Werte annehmen: 1. Ein einzelner Wert: zum Beispiel Rand: 10 Pixel; alle vier Ränder (oben, rechts, unten, links) auf 10 Pixel festlegen. 2. Zwei Werte: zum Beispiel Rand: 10 Pixel; Legen Sie den oberen und unteren Rand auf 10 Pixel und den linken und rechten Rand auf 20 Pixel fest.

Detaillierte Erläuterung der CSS-Dimensionseigenschaften: Höhe und Breite In der Frontend-Entwicklung ist CSS eine leistungsstarke Stildefinitionssprache. Unter diesen sind Höhe und Breite die beiden grundlegendsten Dimensionsattribute, mit denen die Höhe und Breite des Elements definiert werden. In diesem Artikel werden diese beiden Eigenschaften im Detail analysiert und spezifische Codebeispiele bereitgestellt. 1. Höhenattribut Das Höhenattribut wird verwendet, um die Höhe eines Elements zu definieren. Sie können Pixel, Prozent oder verwenden

Detaillierte Erläuterung der CSS-Textlayouteigenschaften: Textüberlauf und Leerraum Im Webdesign ist das Textlayout ein sehr wichtiger Link. Ein angemessenes Layout kann den Text lesbarer und schöner machen. CSS bietet mehrere Eigenschaften, um zu steuern, wie Text angezeigt wird, einschließlich Textüberlauf und Leerraum. In diesem Artikel werden die Verwendung und der Beispielcode dieser beiden Eigenschaften detailliert beschrieben. 1. Textüberlauf-Attributtext

Die Auswirkung des Randes auf Inline-Elemente unterscheidet sich von der auf Elemente auf Blockebene. In Inline-Elementen wirkt sich das Randattribut nur auf die vertikalen oberen und unteren Ränder aus, nicht auf die horizontalen linken und rechten Ränder. Wenn es beispielsweise in HTML ein Absatzelement gibt, können wir einige Stile dafür festlegen und die Auswirkung des Randattributs darauf beobachten. Der HTML-Code sieht so aus:

In CSS wird die padding-Eigenschaft verwendet, um den Abstand eines Elements festzulegen. Dies bedeutet, dass es den Abstand zwischen dem Inhalt des Elements und seinem Rand definiert. Die grundlegende Syntax ist „padding: value;“.
