当前位置:   article > 正文

Linux C/C++ or 嵌入式面试之《C/C++笔面试系列》(15) 几种常用的排序算法C实现_嵌入式linux面试需要算法吗

嵌入式linux面试需要算法吗

嵌入式对于算法的要求不是很高,但面试的时候让你手写排序算法还是有可能的。面试前最好简单过一下。

本文所有代码已经在gcc下通过编译运行测试,结果都是正确的。

1、冒泡排序

算法思想

让数组中相邻两个数字进行比较,如果是升序排列,如果左边的大于右边,则交换,相当于将较大的数往后挪。第一趟有n个数据,需要比较n-1次,可以将最大的数挪到数组最末端,第二趟只有n-1个数据了,只需要比较n-2次…

每一趟可以决出一个数,n个数只要决出n-1个数的位置,剩下一个数也就定了,所以最多需要比较n-1趟。

总共需要比较1+ 2 + … + n-1 = n(n-1)/2,
所以算法复杂度是O(n2)。

冒泡排序法原理动态展示:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/454435
推荐阅读
相关标签
  

闽ICP备14008679号