PHP面试:写出常见的排序算法,并用PHP实现冒泡排序

£可爱£侵袭症+ 提交于 2020-03-24 13:25:30

面试中,涉及算法相关的考点并不多,因为在实际工作中PHP涉及的算法都很简单,但也会出现在一些笔试中,用于考察面试者的基本功,其中考察最多的就是排序算法,而对 冒泡排序的理解和实现 更是重中之重。

常见排序算法

  • 冒泡排序
  • 直接插入排序
  • 希尔排序
  • 选择排序
  • 堆排序
  • 归并排序

常考题:以上哪个算法的效率更快?(如果有 归并排序 优先选择,没有的话,选择 快速排序)


冒泡排序的原理

两两相邻的数进行比较,如果反序就交换,否则不交换。

时间复杂度:O(n^2)
空间间复杂度:O(1)


冒泡排序的实现

for ($i=0, $c=count($arr); $i < $c ; $i++) {
  for ($j=0; $j < $c-1; $j++) {
    if($arr[$j] > $arr[$j+1]){
      $temp = $arr[$j];
      $arr[$j] = $arr[$j+1];
      $arr[$j+1] = $temp;
    }
  }
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!