Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann man mit PHP die geraden Elemente in einem Array größer machen als die ungeraden Elemente?

Wie kann man mit PHP die geraden Elemente in einem Array größer machen als die ungeraden Elemente?

藏色散人
藏色散人Original
2019-03-26 10:49:512360Durchsuche


In diesem Artikel wird hauptsächlich beschrieben, wie Sie mit PHP ein Array neu anordnen und die Elemente an geraden Positionen größer machen als die Elemente an ungeraden Positionen.

Wie kann man mit PHP die geraden Elemente in einem Array größer machen als die ungeraden Elemente?

Sortieren Sie bei einem gegebenen Array A mit n Elementen das Array gemäß der folgenden Beziehung:

Wenn i gerade ist, dann ist A[i] > = A[i-1].

Wenn i eine ungerade Zahl ist, dann ist A[i] <= A[i-1].

Drucken Sie das Ergebnisarray.

Beispiel:

输入: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。

Beachten Sie, dass das Array aus [n/2] Elementen in geraden Positionen besteht. Wenn wir die größten [n/2] Elemente geraden Positionen und den Rest ungeraden Positionen zuordnen, ist unser Problem gelöst. Denn das Element an der ungeraden Position ist immer kleiner als das Element an der geraden Position, weil es das größte Element ist und umgekehrt. Sortieren Sie das Array und weisen Sie die ersten [n/2] Elemente an geraden Positionen zu.

Das Folgende ist die PHP-Implementierungsmethode der oben genannten Methode:

<?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);

Ausgabe:

  1 5 2 3 2

Verwandte Empfehlungen: „PHP-Tutorial"

In diesem Artikel geht es darum, mithilfe von PHP ein Array neu anzuordnen und die Elemente an geraden Positionen größer zu machen als die Elemente an ungeraden Positionen. Ich hoffe, dass er Freunden in Not hilfreich sein wird!


Das obige ist der detaillierte Inhalt vonWie kann man mit PHP die geraden Elemente in einem Array größer machen als die ungeraden Elemente?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn