【面试题】冒泡排序法的实现

学习笔记 马富天 2016-08-24 09:57:15 77 1

【摘要】很多时候在面试过程中往往考官会出冒泡排序算法的实现,昨天一位同班同学说自己在面试前没有复习冒泡排序算法,导致面试中这题没有答出来,结果就是显得有所尴尬了,今天我想了想冒泡的实现原理,用代码实现了一下,也供我以后面试时候之需。

冒泡排序的实现原理:是对相邻的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束。

在深入学习更多排序算法后和在实际使用情况中,冒泡排序的使用还是极少的。它适合数据规模很小的时候,而且它的效率也比较低,但是作为入门的排序算法,还是值得学习的。

算法实现代码:

  1. //	冒泡排序算法,从小到大排序
  2. $arr = [8,1,3,4,9,6,5,2,7];
  3. $tot = count($arr);
  4. var_dump($arr);
  5. //	
  6. for($j = 1;$j <= $tot - 1;$j++)
  7. {
  8. 	//	两两比较,将剩下未排序中最大的值放置在后面
  9. 	for($i = 0;$i < $tot - $j;$i++)
  10. 	{
  11. 		//	若$arr[$i] > $arr[$i+1],则交换值,将较大的值放置在后面
  12. 		if($arr[$i] > $arr[$i+1])
  13. 		{
  14. 			$tmp = $arr[$i];
  15. 			$arr[$i] = $arr[$i+1];
  16. 			$arr[$i+1] = $tmp;
  17. 		}
  18. 	}
  19. }
  20. var_dump($arr);

运行结果:

请输入图片名称

版权归 马富天PHP博客 所有

本文标题:《【面试题】冒泡排序法的实现》

本文链接地址:http://www.mafutian.net/190.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 PHP使用cURL库判断网址是否能够正常打开 》 下一篇《 CSS中!important的简单介绍【CSS最高优先级】 》
分享到:

所有评论

  1. 首页
  2. 上一页
  3. 1
  4. 下一页
  5. 尾页
  6. 第1页
  7. 每页12条
  8. 共1页
  9. 共1条
评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码