选择排序和插入排序
来源:互联网 发布:ios9越狱优化 编辑:程序博客网 时间:2024/05/21 22:02
排序算法还是挺重要的,除了冒泡排序外我觉得还应该掌握至少2种排序算法,从难易程度看选择排序和插入排序应该不错,至少面对常规面试笔试也足够了,下面我把这两种排序算法的代码贴出来,希望多少可以帮助到菜鸟们吧。
1.选择排序
<?php$arr=array(5,-1,8,6,9,30);for($i=0;$i<count($arr);$i++){$temp=0;//假设当前的数最小$minIndex=$i;$minVal=$arr[$i];for($j=$i+1;$j<count($arr);$j++){//如果有更小的数,则和之前的数交换if($arr[$j]<$minVal){$minIndex=$j;$minVal=$arr[$j];}}$temp=$arr[$i];$arr[$i]=$minVal;$arr[$minIndex]=$temp;}for($f=0;$f<count($arr);$f++){echo $arr[$f]."<br/>";}?>
2.插入排序
这种算法的难点在于对排序过程的理解上,在实在理解不了的情况下,可以记忆一下代码
<?php$arr=array(5,-1,8,6,9,30);for($i=1;$i<count($arr);$i++){$insertVal=$arr[$i];//要插入的位置$insertIndex=$i-1;while($insertIndex>=0&&$insertVal<$arr[$insertIndex]){$arr[$insertIndex+1]=$arr[$insertIndex];$insertIndex--;}//如果当前位置不等于要插入的位置则交换反之则不用交换if($i!=$insertIndex+1){$arr[$insertIndex+1]=$insertVal;}}for($f=0;$f<count($arr);$f++){echo $arr[$f]."<br/>";}?>
下面是运行效果
0 0
- 插入排序和选择排序
- 选择排序和插入排序
- 选择排序和插入排序
- 选择排序和插入排序
- 选择排序和插入排序
- 插入排序和选择排序
- 选择排序和插入排序
- 插入排序和选择排序
- 选择排序和插入排序
- 选择排序和插入排序
- 插入排序和选择排序
- 选择排序和插入排序
- 选择排序和插入排序
- 选择和插入排序
- 冒泡排序 选择排序和插入排序
- 冒泡排序、插入排序和选择排序
- 冒泡排序和插入排序,选择排序
- 插入排序,选择排序和快速排序
- JAVA中的接口interface
- 【Linux学习】Linux 系统结构
- 待阅书单
- 指向学生类的指针
- 主机之间的通信原理
- 选择排序和插入排序
- JS操作Cookie详解
- 黑马程序员-C#索引器
- PyQt4 精彩实例分析* 实例6 实现QQ抽屉效果
- 复杂函数阅读
- You Are All Excellent 1785
- Ajax的原理和应用(给公司做所的培训)
- 排列组合算法
- 基于WEB服务器的远程控制(持续更新)