简单排序算法 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教程有兴趣的朋友有所帮助。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le numéro de série du disque dur est un identifiant important du disque dur et est généralement utilisé pour identifier de manière unique le disque dur et identifier le matériel. Dans certains cas, nous pouvons avoir besoin d'interroger le numéro de série du disque dur, par exemple lors de l'installation d'un système d'exploitation, de la recherche du pilote de périphérique approprié ou de la réparation du disque dur. Cet article présentera quelques méthodes simples pour vous aider à vérifier le numéro de série du disque dur. Méthode 1 : utilisez l’invite de commande Windows pour ouvrir l’invite de commande. Dans le système Windows, appuyez sur les touches Win+R, entrez « cmd » et appuyez sur la touche Entrée pour ouvrir la commande

1. Contexte du problème 1. Introduction à l'expérience du marché biface Le marché biface, c'est-à-dire une plateforme, comprend deux participants, producteurs et consommateurs, et les deux parties se promeuvent mutuellement. Par exemple, Kuaishou a un producteur vidéo et un consommateur vidéo, et les deux identités peuvent se chevaucher dans une certaine mesure. L'expérimentation bilatérale est une méthode expérimentale qui combine des groupes du côté des producteurs et des consommateurs. Les expériences bilatérales présentent les avantages suivants : (1) L'impact de la nouvelle stratégie sur deux aspects peut être détecté simultanément, tels que les changements dans le DAU du produit et le nombre de personnes téléchargeant des œuvres. Les plateformes bilatérales ont souvent des effets de réseau transversaux. Plus il y a de lecteurs, plus les auteurs seront actifs, et plus les auteurs seront actifs, plus les lecteurs suivront. (2) Le débordement et le transfert d'effet peuvent être détectés. (3) Aidez-nous à mieux comprendre le mécanisme d'action. L'expérience AB elle-même ne peut pas nous dire la relation entre la cause et l'effet, seulement.

Comment rédiger un générateur simple de rapports sur les performances des étudiants en utilisant Java ? Student Performance Report Generator est un outil qui aide les enseignants ou les éducateurs à générer rapidement des rapports sur les performances des élèves. Cet article explique comment utiliser Java pour rédiger un simple générateur de rapports sur les performances des étudiants. Tout d’abord, nous devons définir l’objet étudiant et l’objet note étudiant. L'objet étudiant contient des informations de base telles que le nom et le numéro de l'étudiant, tandis que l'objet score de l'étudiant contient des informations telles que les résultats des matières et la note moyenne de l'étudiant. Voici la définition d'un objet étudiant simple : public

Comment écrire un système de réservation en ligne simple via PHP. Avec la popularité d'Internet et la recherche de commodité des utilisateurs, les systèmes de réservation en ligne deviennent de plus en plus populaires. Qu'il s'agisse d'un restaurant, d'un hôpital, d'un salon de beauté ou d'un autre secteur de services, un simple système de réservation en ligne peut améliorer l'efficacité et offrir aux utilisateurs une meilleure expérience de service. Cet article explique comment utiliser PHP pour écrire un système de réservation en ligne simple et fournit des exemples de code spécifiques. Créer une base de données et des tables Tout d'abord, nous devons créer une base de données pour stocker les informations de réservation. Dans MonS

Démarrage rapide : implémentation d'un système de gestion de bibliothèque simple à l'aide des fonctions du langage Go Introduction : Avec le développement continu du domaine de l'informatique, les besoins en applications logicielles deviennent de plus en plus diversifiés. En tant qu'outil de gestion commun, le système de gestion de bibliothèque est également devenu l'un des systèmes nécessaires pour de nombreuses bibliothèques, écoles et entreprises. Dans cet article, nous utiliserons les fonctions du langage Go pour implémenter un système simple de gestion de bibliothèque. Grâce à cet exemple, les lecteurs peuvent apprendre l'utilisation de base des fonctions du langage Go et comment créer un programme pratique. 1. Idées de design : commençons par

Comment écrire un système simple de recommandation musicale en C++ ? Introduction : Le système de recommandation musicale est un point névralgique de la recherche dans les technologies de l'information modernes. Il peut recommander des chansons aux utilisateurs en fonction de leurs préférences musicales et de leurs habitudes comportementales. Cet article explique comment utiliser C++ pour écrire un système simple de recommandation musicale. 1. Collecter les données des utilisateurs Tout d'abord, nous devons collecter les données sur les préférences musicales des utilisateurs. Les préférences des utilisateurs pour différents types de musique peuvent être obtenues via des enquêtes en ligne, des questionnaires, etc. Enregistrer les données dans un fichier texte ou une base de données

Introduction à l'utilisation de PHP pour développer des fonctions simples de gestion de fichiers : Les fonctions de gestion de fichiers sont une partie essentielle de nombreuses applications Web. Il permet aux utilisateurs de télécharger, télécharger, supprimer et afficher des fichiers, offrant ainsi aux utilisateurs un moyen pratique de gérer les fichiers. Cet article expliquera comment utiliser PHP pour développer une fonction simple de gestion de fichiers et fournira des exemples de code spécifiques. 1. Créer un projet Tout d'abord, nous devons créer un projet PHP de base. Créez le fichier suivant dans le répertoire du projet : index.php : page principale, utilisée pour afficher la table d'upload

Comment écrire un jeu simple de démineur en C++ ? Minesweeper est un jeu de réflexion classique dans lequel les joueurs doivent révéler tous les blocs selon la disposition connue du champ de mines sans marcher sur les mines. Dans cet article, nous présenterons comment écrire un jeu simple de dragueur de mines en utilisant C++. Tout d’abord, nous devons définir un tableau bidimensionnel pour représenter la carte du jeu Minesweeper. Chaque élément du tableau peut être une structure utilisée pour stocker l'état du bloc, par exemple s'il est révélé, s'il y a des mines, etc. De plus, nous devons également définir
