php排序方法之冒泡排序


//冒泡排序法
$arr = array(3,55,45,2,67,76,6.7,-65,85,4);
function bubblingSort($arr){
for ( $i=0; $i<count($arr);$i++ ){
$flag = true;
for ($j=0;$j<(count($arr)-1);$j++){
if ( $arr[$j]>=$arr[$j+1] ){
$transit_variable = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $transit_variable;
$flag = false;
}
}
if ($flag){
return $arr;
break;
}
}
return $arr;
}
$res = bubblingSort($arr);
echo "<pre>";print_r($res);

php排序方法之冒泡排序

时间: 2024-10-12 01:23:15

php排序方法之冒泡排序的相关文章

最简单的排序方法之一 冒泡排序

public class BubbleSort{ public static void main(String[] args) { int[] bubbleSort ={1,6,2,3,4,5}; //声明一组乱顺序的数组 int hole ;//声明一个空值 for(int i = 0; i < bubbleSort.length-1; i++){ for(int j =0;j<bubbleSort.length -i-1;j++){ //如果大于前面的数 if(bubbleSort[j]

js 排序:sort()方法、冒泡排序、二分法排序。

js中的排序,这里介绍三种,sort()方法.冒泡排序.二分法排序. 1.sort方法 写法:  数组.sort(); 返回排好序的数组,如果数组里是数字,则由小到大,如果是字符串,就按照第一个字符的字符编码大小排序. 写法2: 数组.sort(function(a,b){ return a-b }); 表示从大到小,(如果写 retrun b-a 则由大到小排序): 不详细解释了. 2.冒泡排序. 原理是,直接将原理可能不好懂,我们还是按照下面的方法去讲吧,这样容易懂些. //冒泡排序func

黑马程序员——冒泡排序和选择排序——熟悉又陌生的排序方法

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 昨天做基础测试题,遇到了个排序问题,写完后脑子里突然跳出了“冒泡排序法”这个名词.“冒泡排序法”和“选择排序法”是每个程序初学者都会学到的两个排序方法,但是好多人对这两个排序方法是既熟悉又陌生,熟悉是因为凡是遇到排序一般都会想到这两个方法,陌生是因为细细一想对这两个方法的原理和区别又不是很清楚.不较真还好,初学者一较真就很容易被这两个方法搞晕了,我当时也被这两个方法搞晕了,就又认认真真一步一步

Java实现几种常见排序方法

转自:http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616897.html 日常操作中常见的排序方法有:冒泡排序.快速排序.选择排序.插入排序.希尔排序,甚至还有基数排序.鸡尾酒排序.桶排序.鸽巢排序.归并排序等. 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经

Java几种常用的实现排序方法

import java.util.Random; public class NumberSort{ /** * 私有构造方法,禁止实例化 */ private NumberSort(){ super(); } /** * 冒泡排序 * 比较相邻的元素.如果第一个比第二个大,就叫唤他们两个位置. * 对每一组相邻的元素作同样的工作,从开始的第一对到结束后的最后一对,这样剩下的最后一个应该是最大的数. * 针对所有元素重复以上操作,除了最后一个. * 持续对越来越少的数进行以上的操作,直到没有任何一

简单排序方法

排序: 排序(Sort)是计算机程序设计中的一种重要操作,也是日常生活中经常遇到的问题.例如,字典中的单词是以字母的顺序排列,否则,使用起来非常困难.同样,存储在计算机中的数据的次序,对于处理这些数据的算法的速度和简便性而言,也具有非常深远的意义. 基本概念: 排序是把一个记录(在排序中把数据元素称为记录)集合或序列重新排列成按记录的某个数据项值递增(或递减)的序列. 下表是一个学生成绩表,其中某个学生记录包括学号.姓名及计算机文化基础.C 语言.数据结构等课程的成绩和总成绩等数据项.在排序时,

c#实现几种排序方法

插入排序 1.简介 插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间. 2.算法描述 一般来说,插入排序都采用in-place在数组上实现.具体算法描述如下:1.从第一个元素开始,该元素可以认为已经被排序2.

Java中的几种排序方法

日常操作中常见的排序方法很多,比如有:冒泡排序.快速排序.选择排序.插入排序.希尔排序,甚至还有基数排序.鸡尾酒排序.桶排序.鸽巢排序.归并排序等. 一.冒泡排序 一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来. 走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端. 1 /** 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2 *对每一对相邻元

排序系列之——冒泡排序、插入排序、选择排序

排序之——冒泡排序: 基本思想:假设待排序表长为N,从后往前(或者从前往后)两两比较相邻元素的值,若为逆序(arr[i-1]>arr[i]),则交换他们,直到序列比较完.这时一趟冒泡. 代码如下: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <time.h> 5 #define N 20 6 7 void print_Arr(int *arr,