<?php //php中的冒泡排序算法 //从大到小的排序方式 ,$arr[$j]>$arr[$j+1](这里换成了从小到大的排序方式) $arr=array(); $arr=array(0,41,12,33,4,15,26,7,8,89); $length=count($arr); //得到数组的总长度 for($i=0;$i<$length;$i++){ for($j=0;$j<$length-$i;$j++){ if($arr[$j]<$arr[$j+1]){ $tmp=$arr[$j+1]; $arr[$j+1]=$arr[$j]; $arr[$j]=$tmp; } } } print_r($arr); //Array ( [0] => 89 [1] => 41 [2] => 33 [3] => 26 [4] => 15 [5] => 12 [6] => 8 [7] => 7 [8] => 4 [9] => 0 ) ?>
相关文章
- 神经网络中的前向和后向算法
- YouTube视频推荐中的召回模型和排序模型-Deep Neural Networks for YouTube Recommendations
- Python中的冒泡排序
- 干货 | 机器学习算法在饿了么供需平衡系统中的应用
- 决策树算法中基尼指数与信息增益的比较
- LeetCode 题目 94:五种算法递归|迭代|莫里斯|线索二叉树|栈的迭代二叉树 实现中序遍历
- BFS、DFS、先序、中序、后序遍历的非递归算法(java)
- SqlSever基础 order by之后再orderby,双重排序,对排序好的数据中再次进行排序
- 向量体系结构(5):步幅&&集中一分散- 在C语言中,矩阵的行存储是连续的,但列之间存在较大的步幅。以矩阵D为例,如果要连续访问其列中的元素(内层循环的目的),每次迭代需要跳过整个行的宽度。Fortran语言通常以列主序存储数组,意味着矩阵的列元素在内存中是连续的,意味着访问其连续行元素时需要跨过较多内存空间。 编译器在向量化代码时,需要识别并优化这些步幅问题,以便有效地利用向量处理器的并行能力。如果不对循环进行重新排序或调整访问模式,处理器可能无法有效加载连续的向量元素到寄存器中进行并行运算,这会影响性能。 编译器可以通过循环变换(如循环展开、循环交换等)来改善内存访问模式,以减小步幅或使其适应向量寄存器的宽度。例如,通过改变循环顺序,使内存访问变得更加连续,从而减少跨步读取的次数。 向量处理器处理非连续数据
- 使用指针实现常见排序算法选择排序,直接插入排序和冒泡排序