Cet article présente principalement comment utiliser PHP pour réorganiser un tableau et rendre les éléments dans des positions paires plus grands que les éléments dans des positions impaires.
Étant donné un tableau A contenant n éléments, trier le tableau selon la relation suivante :
Si i est pair, alors A[i] > = UNE[je-1].
Si i est un nombre impair, alors A[i] <= A[i-1].
Imprimez le tableau des résultats.
Exemple :
输入:A[] = {1,2,2,1} 输出:1,2,1,2 注: 对于第一个元素,1 1,i = 2是偶数。 第三个元素1 1,i = 4是偶数。 输入:A[] = {1,3,2} 输出:1 3 2 注: 这里,数组也按照条件排序。 1 1和2 < 3。
Observez que le tableau est constitué de [n/2] éléments dans des positions paires. Si nous attribuons les plus grands [n/2] éléments aux positions paires et le reste aux positions impaires, notre problème est résolu. Parce que l’élément en position impaire est toujours plus petit que l’élément en position paire car c’est l’élément le plus grand et vice versa. Triez le tableau et attribuez les premiers [n/2] éléments à des positions paires.
Voici la méthode d'implémentation PHP de la méthode ci-dessus :
<?php // PHP程序重新排列数组中的元素,使偶数位置的元素大于奇数位置的元素 function assign($a, $n) { //排序数组 sort($a); $p = 0; $q = $n - 1; for ($i = 0; $i < $n; $i++) { // 分配具有最大元素的索引 if (($i + 1) % 2 == 0) $ans[$i] = $a[$q--]; // 用剩余元素分配奇数索引 else $ans[$i] = $a[$p++]; } for ($i = 0; $i < $n; $i++) echo($ans[$i] . " "); } $A = array( 1, 3, 2, 2, 5 ); $n = sizeof($A); assign($A, $n);
Sortie :
1 5 2 3 2
Recommandations associées : "Tutoriel PHP 》
Cet article concerne l'utilisation de PHP pour réorganiser un tableau et rendre les éléments dans des positions paires plus grands que les éléments dans des positions impaires. J'espère qu'il sera utile aux amis dans le besoin !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!