1. Tri des bulles
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | function bubble_sort( $array )
{
$count = count ( $array );
if ( $count <= 0){
return false;
}
for ( $i =0; $i < $count ; $i ++){
for ( $j =0; $j < $count - $i -1; $j ++){
if ( $array [ $j ] > $array [ $j +1] ){
$temp = $array [ $j ];
$array [ $j ]= $array [ $j +1];
$array [ $j +1]= $temp ;
}
}
}
return $array ;
}
|
Copier après la connexion
2. Tri rapide
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | function quick_sort( $array )
{
$count = count ( $array );
if ( $count <= 1){
return $array ;
}
$key = $array [0];
$array_left = array ();
$array_right = array ();
for ( $i =1; $i < $count ; $i ++){
if ( $array [ $i ] < $key ){
$array_left []= $array [ $i ];
} else {
$array_right []= $array [ $i ];
}
}
$array_left =quick_sort( $array_left );
$array_right =quick_sort( $array_right );
return array_merge ( $array_left , array ( $key ), $array_right );
}
$myarray = array (1,5,3,4,12,10,8);
print_r(bubble_sort( $myarray ));
echo "<br/>" ;
print_r(quick_sort( $myarray ));
echo "<br/>" ;
|
Copier après la connexion
3. Trouvez rapidement la position où la valeur apparaît en premier
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
function search( $array , $k , $low =0, $high =0)
{
if ( count ( $array )!=0 and $high == 0){
$high = count ( $array );
}
if ( $low <= $high ){
$mid = intval (( $low + $high )/2);
if ( $array [ $mid ] == $k ){
return $mid ;
}
elseif ( $k < $array [ $mid ]){
return search( $array , $k , $low , $mid -1);
}
else {
return search( $array , $k , $mid +1, $high );
}
}
return -1;
}
$array = array (4,5,7,8,9,10,8);
echo search( $array , 8);
|
Copier après la connexion
4. . Supprimez les éléments en double des tableaux bidimensionnels
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
public function array_unique_fb( $array2D , $keyArray ){
$temp = array ();
foreach ( $array2D as $v ){
$v = join( "," , $v );
$temp [] = $v ;
}
$temp = array_unique ( $temp );
foreach ( $temp as $k => $v ){
$temp [ $k ]= array_combine ( $keyArray , explode ( "," ,trim( $v )));
}
return $temp ;
}
$testArray =array_unique_fb( array ( array ('a'=>1,'b'=>2,'c'=>3),
array ('a'=>1,'b'=>2,'c'=>3), array ('a'=>1,'b'=>2,'c'=>3)), array ('a','b','c''));
print_r( $testArray );
|
Copier après la connexion
Veuillez prêter attention à d'autres articles liés au tri à bulles PHP, au tri rapide, à la recherche rapide et aux tableaux bidimensionnels. exemples de déduplication. Site Web chinois PHP !