PHP基础之排序

前言

之前简单介绍了流程控制,函数,数组等。有兴趣的可以看看。
PHP入门之类型与运算符
PHP入门之流程控制
PHP入门之函数
PHP入门之数组
接下来介绍一下排序,排序是将一组数据,依指定的顺序进行排列的过程。常用的排序方法有冒泡法,选择排序法,插入排序法。

冒泡排序法

思想:
它重复走过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把它们交换过来,直到没有需要交换的为止。
代码案例:

$myarr[$j+1]){
                $temp=$myarr[$j];
                $myarr[$j]=$myarr[$j+1];
                $myarr[$j+1]=$temp;
            }
        }
    }

}
bubbleSort($myarr);
print_r($myarr);  #打印数组
?>

输出结果为:
Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 6 [4] => 9 [5] => 23.5 )

选择排序法

思想:
假设第一个为最小(大)元素,依次比较,如果错误,交换顺序,找到未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
代码案例:

$myarr[$j]){
                $minval=$myarr[$j];
                $minindex=$j;
            }
        }
        $temp=$myarr[$i];
        $myarr[$i]=$myarr[$minindex];
        $myarr[$minindex]=$temp;
    }
}
selectionSort($myarr);
print_r($myarr);    #打印数组
?>

输出结果:
Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 6 [4] => 9 [5] => 23.5 )

插入排序

思想:
插入排序就像我们玩扑克牌,右手为乱排的,我们一张张查看,为它找合适的位置插入到左手的有序牌中。
插入排序是指在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序。
代码案例:

=0 && $insertval<$myarr[$insertindex]){
            $myarr[$insertindex+1]=$myarr[$insertindex];
            $insertindex--;

        }
        #插入(给$insertval找到合适的位置)
        $myarr[$insertindex+1]=$insertval;
    }
}

insertSort($myarr);
print_r($myarr);
?>

输出结果:
Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 6 [4] => 9 [5] => 23.5 )

小结

简单介绍了一下常用的三种排序方法,希望对大家有所帮助。

你可能感兴趣的:(PHP基础之排序)