简单排序算法 java排序算法 排序算法总结 堆排序算
$arr = array(
12,
45,
89,
3,
24,
55,
223,
76,
22,
11,
28,
112,
20,
434,
23,
65,
65,
765,
6,
8,
23,
5,
33,
553,
45,
423,
64,
77,
84,
23
);
/**
* 冒泡排序算法,时间复杂度n2/2次
* 冒泡排 序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。
* 然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最 后。
* 在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第 二个数
* (倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过 程,
* 直至最终完成排序。
*/
function maopao_sort($arr)
{
$count = count($arr);
$tmp;
$m = 0; // 用于计算执行多少次
for ($i = 0; $i for ($j = 0; $j if ($arr[$j] > $arr[$j + 1]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $tmp;
}
$m ++;
}
}
print_r($arr);
echo $m;
}
/**
* 选择排序算法,时间复杂度n2/2次
* 1.从待排序序列中,找到关键字最小的元素;
* 2.如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;
* 3.从余下的 N - 1 个元素中,找出关键字最小的元素,重复( 1 )、( 2 )步,直到排序结束
*/
function select_sort($arr)
{
$count = count($arr);
$tmp;
$m = 0; // 用于计算执行多少次
for ($i = 0; $i $p = $i;
for ($j = $i + 1; $j if ($arr[$p] > $arr[$j]) {
$p = $j;
}
$m ++;
}
if ($p != $i) {
$tmp = $arr[$p];
$arr[$p] = $arr[$i];
$arr[$i] = $tmp;
}
}
print_r($arr);
echo $m;
}
/**
* 插入排序算法,时间复杂度n2/2次
* 插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕
*/
function insert_sort($arr)
{
$count = count($arr);
$tmp;
$m = 0; // 用于计算执行多少次
for ($i = 1; $i $tmp = $arr[$i];
for ($j = $i - 1; $j >= 0; $j --) {
if ($tmp $arr[$j + 1] = $arr[$j];
$arr[$j] = $tmp;
} else {
break;
}
$m ++;
}
}
print_r($arr);
echo $m;
}
/**
* 快速排序算法,时间复杂度n2/2次
* 该方法的基本思想是:
* 1.先从数列中取出一个数作为基准数。
* 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
* 3.再对左右区间重复第二步,直到各区间只有一个数。
*/
function quick_sort($arr)
{
$count = count($arr);
if ($count return $arr;
}
$tmp = $arr[0];
$left_array = array();
$right_array = array();
for ($i = 1; $i if ($arr[$i] $left_array[] = $arr[$i];
} else {
$right_array[] = $arr[$i];
}
$m ++;
}
$left_array = quick_sort($left_array);
$right_array = quick_sort($right_array);
return array_merge($left_array, array(
$tmp
), $right_array);
}
// print_r(quick_sort($arr));
// // print_r(quickSort($arr));
function quickpaixu($arr)
{
$count = count($arr);
if ($count return $arr;
}
$key = $arr[0]; // 取一个值,稍后用来比较;
$left_arr = array();
$right_arr = array();
for ($i = 1; $i if ($arr[$i] $left_arr[] = $arr[$i];
} else {
$right_arr[] = $arr[$i];
}
}
$left_arr = quickpaixu($left_arr); // 进行递归;
$right_arr = quickpaixu($right_arr);
return array_merge($left_arr, array(
$key
), $right_arr); // 将左中右的值合并成一个数组;
} // 以下是测试
// print_r(quickpaixu($arr));
?>
以上就介绍了简单排序算法,包括了排序算法,简单方面的内容,希望对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

Die Seriennummer der Festplatte ist eine wichtige Kennung der Festplatte und dient in der Regel zur eindeutigen Identifizierung der Festplatte und zur Identifizierung der Hardware. In einigen Fällen müssen wir möglicherweise die Seriennummer der Festplatte abfragen, beispielsweise bei der Installation eines Betriebssystems, der Suche nach dem richtigen Gerätetreiber oder der Durchführung von Festplattenreparaturen. In diesem Artikel werden einige einfache Methoden vorgestellt, mit denen Sie die Seriennummer der Festplatte überprüfen können. Methode 1: Verwenden Sie die Windows-Eingabeaufforderung, um die Eingabeaufforderung zu öffnen. Drücken Sie im Windows-System die Tasten Win+R, geben Sie „cmd“ ein und drücken Sie die Eingabetaste, um den Befehl zu öffnen

1. Hintergrund des Problems 1. Einführung in das zweiseitige Marktexperiment Der zweiseitige Markt, also eine Plattform, umfasst zwei Teilnehmer, Produzenten und Verbraucher, und beide Parteien fördern sich gegenseitig. Kuaishou hat beispielsweise einen Videoproduzenten und einen Videokonsumenten, und die beiden Identitäten können sich bis zu einem gewissen Grad überschneiden. Bilaterales Experiment ist eine experimentelle Methode, die Gruppen auf Produzenten- und Verbraucherseite vereint. Bilaterale Experimente haben folgende Vorteile: (1) Die Auswirkungen der neuen Strategie auf zwei Aspekte können gleichzeitig erfasst werden, beispielsweise Änderungen im Produkt-DAU und die Anzahl der Personen, die Werke hochladen. Bilaterale Plattformen haben oft netzwerkübergreifende Effekte, je mehr Leser es gibt, desto aktiver werden die Autoren sein, und je aktiver die Autoren sind, desto mehr Leser werden ihnen folgen. (2) Effektüberlauf und -übertragung können erkannt werden. (3) Helfen Sie uns, den Wirkungsmechanismus besser zu verstehen. Das AB-Experiment selbst kann uns nicht nur den Zusammenhang zwischen Ursache und Wirkung aufzeigen

So schreiben Sie ein einfaches Online-Reservierungssystem mit PHP Mit der Popularität des Internets und dem Streben der Benutzer nach Bequemlichkeit werden Online-Reservierungssysteme immer beliebter. Ganz gleich, ob es sich um ein Restaurant, ein Krankenhaus, einen Schönheitssalon oder eine andere Dienstleistungsbranche handelt, ein einfaches Online-Reservierungssystem kann die Effizienz steigern und den Benutzern ein besseres Serviceerlebnis bieten. In diesem Artikel wird erläutert, wie Sie mit PHP ein einfaches Online-Reservierungssystem schreiben und spezifische Codebeispiele bereitstellen. Datenbank und Tabellen erstellen Zuerst müssen wir eine Datenbank erstellen, um Reservierungsinformationen zu speichern. In MyS

Wie schreibe ich einen einfachen Generator für Schülerleistungsberichte mit Java? Der Student Performance Report Generator ist ein Tool, das Lehrern und Erziehern dabei hilft, schnell Berichte über die Schülerleistung zu erstellen. In diesem Artikel wird erläutert, wie Sie mit Java einen einfachen Generator für Schülerleistungsberichte schreiben. Zuerst müssen wir das Studentenobjekt und das Studentennotenobjekt definieren. Das Schülerobjekt enthält grundlegende Informationen wie den Namen und die Schülernummer des Schülers, während das Schülerergebnisobjekt Informationen wie die Fachnoten und die Durchschnittsnote des Schülers enthält. Das Folgende ist die Definition eines einfachen Studentenobjekts: öffentlich

Schnellstart: Implementierung eines einfachen Bibliotheksverwaltungssystems mithilfe von Go-Sprachfunktionen Einführung: Mit der kontinuierlichen Entwicklung auf dem Gebiet der Informatik werden die Anforderungen an Softwareanwendungen immer vielfältiger. Als allgemeines Verwaltungsinstrument ist das Bibliotheksverwaltungssystem auch für viele Bibliotheken, Schulen und Unternehmen zu einem der notwendigen Systeme geworden. In diesem Artikel werden wir Go-Sprachfunktionen verwenden, um ein einfaches Bibliotheksverwaltungssystem zu implementieren. Anhand dieses Beispiels können Leser die grundlegende Verwendung von Funktionen in der Go-Sprache erlernen und lernen, wie man ein praktisches Programm erstellt. 1. Designideen: Lassen Sie uns zuerst

Einführung in die Verwendung von PHP zur Entwicklung einfacher Dateiverwaltungsfunktionen: Dateiverwaltungsfunktionen sind ein wesentlicher Bestandteil vieler Webanwendungen. Es ermöglicht Benutzern das Hochladen, Herunterladen, Löschen und Anzeigen von Dateien und bietet Benutzern eine bequeme Möglichkeit, Dateien zu verwalten. In diesem Artikel wird erläutert, wie Sie mit PHP eine einfache Dateiverwaltungsfunktion entwickeln und spezifische Codebeispiele bereitstellen. 1. Erstellen Sie ein Projekt. Zuerst müssen wir ein einfaches PHP-Projekt erstellen. Erstellen Sie die folgende Datei im Projektverzeichnis: index.php: Hauptseite, die zur Anzeige der Upload-Tabelle verwendet wird

Wie schreibe ich ein einfaches Musikempfehlungssystem in C++? Einleitung: Das Musikempfehlungssystem ist ein Forschungs-Hotspot in der modernen Informationstechnologie. Es kann Benutzern Songs basierend auf ihren Musikpräferenzen und Verhaltensgewohnheiten empfehlen. In diesem Artikel wird erläutert, wie Sie mit C++ ein einfaches Musikempfehlungssystem schreiben. 1. Benutzerdaten sammeln Zuerst müssen wir die Musikpräferenzdaten der Benutzer sammeln. Durch Online-Umfragen, Fragebögen etc. können die Vorlieben der Nutzer für verschiedene Musikrichtungen ermittelt werden. Speichern Sie Daten in einer Textdatei oder Datenbank

Organisieren |. Nuka-Cola, Chu Es ist eine interessante Herausforderung und es gibt viele Möglichkeiten, sie zu meistern. Es wurde viel Zeit investiert, um herauszufinden, wie Sortieraufgaben effizienter erledigt werden können. Als Grundoperation sind Sortieralgorithmen in die Standardbibliotheken der meisten Programmiersprachen integriert. Es gibt viele verschiedene Sortiertechniken und Algorithmen, die in Codebasen auf der ganzen Welt verwendet werden, um große Datenmengen online zu organisieren, aber zumindest was die mit dem LLVM-Compiler verwendeten C++-Bibliotheken betrifft, hat sich der Sortiercode seit mehr als einem Jahr nicht geändert Jahrzehnt. Kürzlich hat das Google DeepMindAI-Team nun eine entwickelt
