Implementierung der PHP-Sortierung
<?php 002 /** 003 * 插入排序(一维数组) 004 * 每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当的位置,使数列依然有序;直到待排序的数据元素全部插入完成为止。 005 */ 006 function insertSort($arr) { 007 if (!is_array($arr) || count($arr) == 0) { 008 return $arr; 009 } 010 $count = count($arr); 011 for ($i = 1; $i < $count; $i++) { 012 if (isset($arr[$i])) { 013 $tmp = $arr[$i]; //获取后一个元素的值 014 $j = $i - 1; //获取前面的下标 015 while ($arr[$j] > $tmp) { //如果前面一个比后面一个大, 这里是从小到大 016 $arr[$j + 1] = $arr[$j]; //把小的元素和前面的对换,直到移动到合适的位置,在移动下一个 017 $arr[$j] = $tmp; 018 $j--; 019 } 020 } 021 } 022 return $arr; 023 } 024 025 /** 026 * 选择排序(一维数组) 027 * 每一趟从待排序的数据元素中选出最小(最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 028 */ 029 function selectSort($arr) { 030 if (!is_array($arr) || count($arr) == 0) { 031 return $arr; 032 } 033 $count = count($arr); 034 for ($i = 0; $i < $count; $i++) { 035 $k = $i; 036 for ($j = $i + 1; $j < $count; $j++) { 037 if ($arr[$k] > $arr[$j]) 038 $k = $j; //找出最小的 039 if ($k != $i) { 040 $tmp = $arr[$i]; 041 $arr[$i] = $arr[$k]; 042 $arr[$k] = $tmp; 043 } 044 } 045 } 046 return $arr; 047 } 048 049 /** 050 * 冒泡排序(一维数组) 051 * 两两比较待排序数据元素的大小,发现两个数据元素的次序相反即进行交换,直到没有反序的数据元素为止 052 */ 053 function bubbleSort($array) { 054 $count = count($array); 055 if ($count <= 0) { 056 return false; 057 } 058 for ($i = 0; $i < $count; $i++) { 059 for ($j = $count - 1; $j > $i; $j--) { 060 if ($array[$j] < $array[$j - 1]) { //比较找到的数进行交换 061 $tmp = $array[$j]; 062 $array[$j] = $array[$j - 1]; 063 $array[$j - 1] = $tmp; 064 } 065 } 066 } 067 return $array; 068 } 069 070 /** 071 * 快速排序(一维数组) 072 */ 073 function quickSort($array) { 074 if (count($array) <= 1) { 075 return $array; 076 } 077 $key = $array[0]; 078 $left_arr = array(); 079 $right_arr = array(); 080 for ($i = 1; $i < count($array); $i++) { 081 if ($array[$i] <= $key) { 082 $left_arr[] = $array[$i]; 083 } else { 084 $right_arr[] = $array[$i]; 085 } 086 } 087 $left_arr = quickSort($left_arr); 088 $right_arr = quickSort($right_arr); 089 return array_merge($left_arr, array( 090 $key 091 ), $right_arr); 092 } 093 094 /** 095 * 按照元素的值进行排序 096 * strOrder 为排列的顺序 asc 升序 desc 降序 097 */ 098 function sortByVal($arr, $strOrder = 'asc') { 099 if (!is_array($arr) || count($arr) == 0) { 100 return $arr; 101 } 102 103 $arrReturn = array(); 104 foreach ($arr as $key => $val) { 105 $arrKey[] = $key; 106 $arrVal[] = $val; 107 } 108 109 $count = count($arrVal); 110 if ($count) { 111 //创建key的顺序数组 112 for ($key = 0; $key < $count; $key++) { 113 $arrKeyMap[$key] = $key; 114 } 115 //对值进行排序 116 for ($i = 0; $i < $count; $i++) { 117 118 for ($j = $count - 1; $j > $i; $j--) { 119 //<从小到大排列 升降在这修改 120 $bol = $strOrder == 'asc' ? $arrVal[$j] < $arrVal[$j - 1] : $arrVal[$j] > $arrVal[$j - 1]; 121 if ($bol) { 122 $tmp = $arrVal[$j]; 123 $arrVal[$j] = $arrVal[$j - 1]; 124 $arrVal[$j - 1] = $tmp; 125 //值的冒泡排序,引起key的数组的交互 126 $keytmp = $arrKeyMap[$j]; 127 $arrKeyMap[$j] = $arrKeyMap[$j - 1]; 128 $arrKeyMap[$j - 1] = $keytmp; 129 } 130 } 131 } 132 if (count($arrKeyMap)) { 133 foreach ($arrKeyMap as $val) { 134 $arrReturn[] = $arrKey[$val]; 135 } 136 } 137 return $arrReturn; 138 } 139 } 140 141 /** 142 * 使用原生的函数进行数组按照值进行排列 143 */ 144 function arraySortByVal($arr, $keys, $type = 'asc') { 145 $keysvalue = $new_array = array(); 146 foreach ($arr as $k => $v) { 147 $keysvalue[$k] = $v[$keys]; 148 } 149 if ($type == 'asc') { 150 asort($keysvalue); 151 } else { 152 arsort($keysvalue); 153 } 154 reset($keysvalue); 155 foreach ($keysvalue as $k => $v) { 156 $new_array[$k] = $arr[$k]; 157 } 158 return $new_array; 159 }
j
Das Obige stellt die PHP-Sortierungsimplementierung vor, einschließlich Aspekten des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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 Verwendung von return in der C-Sprache ist: 1. Für Funktionen, deren Rückgabewerttyp ungültig ist, können Sie die Rückgabeanweisung verwenden, um die Ausführung der Funktion vorzeitig zu beenden. 2. Für Funktionen, deren Rückgabewerttyp nicht ungültig ist, ist die Funktion von Die Return-Anweisung dient dazu, die Ausführung der Funktion zu beenden. 3. Beenden Sie die Ausführung der Funktion vorzeitig wenn die Funktion keinen Wert zurückgibt.

Quellcode: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}# Ausgabe Die Ausgabe des obigen Codes kann einfach zu dem Schluss kommen: return wird ausgeführt, bevor wir uns schließlich ansehen, was auf der Bytecode-Ebene passiert. Im Folgenden wird ein Teil des Bytecodes der Methode case1 abgefangen und mit dem Quellcode verglichen, um die Bedeutung jeder Anweisung darin zu kommentieren

Mit der Count-Funktion wird die Anzahl der Zahlen in einem angegebenen Bereich gezählt. Sie ignoriert Text, logische Werte und Nullwerte, zählt jedoch leere Zellen. Die Count-Funktion zählt nur die Anzahl der Zellen, die tatsächliche Zahlen enthalten. Die Funktion CountA wird verwendet, um die Anzahl der nicht leeren Zellen in einem angegebenen Bereich zu zählen. Es zählt nicht nur Zellen, die tatsächliche Zahlen enthalten, sondern auch die Anzahl nicht leerer Zellen, die Text, logische Werte und Formeln enthalten.

Titel: Beispiel für die Verwendung der Array.Sort-Funktion zum Sortieren eines Arrays in C#. Text: In C# ist Array eine häufig verwendete Datenstruktur, und häufig sind Array-Sortiervorgänge erforderlich. C# stellt die Array-Klasse bereit, die über die Sort-Methode verfügt, um Arrays bequem zu sortieren. In diesem Artikel wird gezeigt, wie Sie ein Array mithilfe der Array.Sort-Funktion in C# sortieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die grundlegende Verwendung der Array.Sort-Funktion verstehen. Array.So

Beim Programmieren in PHP müssen wir häufig Arrays zusammenführen. PHP stellt die Funktion array_merge() bereit, um die Array-Zusammenführung abzuschließen. Wenn jedoch derselbe Schlüssel im Array vorhanden ist, überschreibt diese Funktion den ursprünglichen Wert. Um dieses Problem zu lösen, stellt PHP in der Sprache auch eine Funktion array_merge_recursive() bereit, die Arrays zusammenführen und die Werte derselben Schlüssel beibehalten kann, wodurch das Programmdesign flexibler wird. array_merge

In PHP gibt es viele leistungsstarke Array-Funktionen, die Array-Operationen komfortabler und schneller machen können. Wenn wir zwei Arrays zu einem assoziativen Array kombinieren müssen, können wir diese Operation mit der Funktion array_combine von PHP ausführen. Diese Funktion wird tatsächlich verwendet, um die Schlüssel eines Arrays als Werte eines anderen Arrays zu einem neuen assoziativen Array zu kombinieren. Als nächstes erklären wir, wie man die Funktion array_combine in PHP verwendet, um zwei Arrays zu einem assoziativen Array zu kombinieren. Erfahren Sie mehr über array_comb

Vue3.2-Setup-Syntaxzucker ist ein Syntaxzucker zur Kompilierungszeit, der die kombinierte API in einer einzelnen Dateikomponente (SFC) verwendet, um das umständliche Setup in Vue3.0 zu lösen. Die durch den Import eingeführten deklarierten Variablen, Funktionen und Inhalte werden bereitgestellt Rückkehr, damit sie in Vue3.0 verwendet werden können. 1. Es besteht keine Notwendigkeit, deklarierte Variablen, Funktionen und Inhalte zurückzugeben, die durch Import während der Verwendung eingeführt wurden }from'./utils'//variable constmsg='Hello !'//function func

Für die Verwendung von „return“ in JavaScript sind bestimmte Codebeispiele erforderlich. In JavaScript wird die „return“-Anweisung verwendet, um den von einer Funktion zurückgegebenen Wert anzugeben. Es kann nicht nur dazu verwendet werden, die Ausführung einer Funktion zu beenden, sondern auch einen Wert an die Stelle zurückzugeben, an der die Funktion aufgerufen wurde. Die Return-Anweisung hat die folgenden allgemeinen Verwendungszwecke: Einen Wert zurückgeben Die Return-Anweisung kann verwendet werden, um einen Wert an die Stelle zurückzugeben, an der die Funktion aufgerufen wird. Hier ist ein einfaches Beispiel: functionadd(a,b){
