PHP数组排序

【内部排序法】

一、交换排序法

  1.冒泡排序法

<?php
//冒泡排序法(从小到大)
    $arr = array(55,20,10,8,2,0);
    function bubblesort(&$arr) {
        //第二个数排序好后,第一个数不需要再次重复循环排序,所以循环次数 < count($arr)-1
        for($i=0;$i<count($arr)-1;$i++) {
            // 每个元素依次比较,每每两元素比较大小,即循环次数 < count($arr)-1;后面已排序好的数不进行下次的循环排序,即count($arr)-$i-1
            for($j=0; $j<count($arr)-$i-1; $j++) {
                if($arr[$j]>$arr[$j+1]) {
                    $temp = $arr[$j];
                    $arr[$j] = $arr[$j+1];
                    $arr[$j+1] = $temp;
                }
//                echo ($arr[$j])."&nbsp";
            }
//            print_r($arr);
//            echo ‘<br />‘;
        }
    }
    bubbleSort($arr);
    print_r($arr);
?>

  2.快速排序法

二、选择排序法

三、插入式排序法

  1.插入排序法

  2.希尔排序法

  3.二叉树排序法

【外部排序法:借助外部文件排序】

注:如果将排序法封装成一个函数,以便日后直接调用该函数排序,可使用返回值,或形参加地址符【&】,如:&$arr

时间: 2024-09-30 08:30:24

PHP数组排序的相关文章

初识数组排序!!!!

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>初识数组排序</title> <!--调试成功--> <style type="text/css"> *{ padding:0; margin: 0; } li,ul{ list-style: none; } #p

NSSortDescriptor对象进行数组排序

//创建一个数组 NSArray *array = @[@"zhangsan", @"lisi", @"zhonger", @"zhubada", @"honghunag"]; //创建一个排序条件,也就是一个NSSortDescriptor对象 //其中第一个参数为数组中对象要按照什么属性来排序(比如自身.姓名,年龄等) //第二个参数为指定排序方式是升序还是降序 //ascending  排序的意思,默

JavaScript - Array对象的使用 及 数组排序 sort

<html> <head> <head> <body> <script language="javascript"> // Array对象 // 第一种构造方法 var arr = new Array(); alert(arr.length); arr[0] = 520 ; arr[1] = "wjp" ; alert(arr.length); // 第二种构造方法 // Array(4) ; // 第三种

写个函数用来对二维数组排序

29.写个函数用来对二维数组排序(新浪) Foreach有两种语法: 语法一:foreach($arr as $value){ Echo $value; } 语法一:foreach($arr as $key=>$value){ Echo $key . "=>" . $value; } 使用foreach遍历二维数组 与数组排序有关的函数: ?  sort():对数组元素的值升序排列,不保留索引关系 ?  rsort():对数组元素的值降序排列,不保留索引关系. ?  aso

写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数

下面代码没有认真看: <?php //二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序 function array_sort($arr, $keys, $order = 0) { if (!is_array($arr)) { return false; } $keysvalue = array(); foreach ($arr as $key => $val) { $keysvalue[$key] = $val[$keys]; } if ($

java中数组排序.知识点

import java.util.*; //选择排序 class SwitchTest { public static void main(String[] args) { int[] arr = {3,5,6,23,45,2}; //排序前 printArray(arr); //排序后 // selectSort(arr); Arrays.sort(arr);//java中已经定义好的一种排序方式,开发中,对数组排序,要使用该句代码 // bubbleSort(arr); printArray

PHP 二维数组排序 可以按指定 键值排序

<?php header("Content-Type:utf-8"); $arr = array( 0 => array( 'name' => '国际原油价格', 'url_pinyin' => 'kucun', ), 1 => array( 'name' => '原油', 'url_pinyin' => 'jiage', ), 2 => array( 'name' => '原油价格', 'url_pinyin' => 'yu

数组排序(java)冒泡法

public class ArrayTest03{ /* Name:数组排序,冒泡法 Power by :Stuart Date:2015-4-23*/ public static void main(String args[]){ //定义一个integer数组 int array[]={0,1,4,8,5,4,10,9}; for(int i=0;i<array.length;i++){ //第二层循环从第一层循环的元素第一次后一个开始 for(int j=i+1;j<array.leng

数组排序-Objectivec

发表于昨天(23:33)(2013-11-03 23:33) ,已有15次阅读 ,共0个评论 摘要: 总结OC中数组排序3种方法:sortedArrayUsingSelector:;sortedArrayUsingComparator:;sortedArrayUsingDescriptors: 大体上,OC中常用的数组排序有以下几种方法:sortedArrayUsingSelector:;sortedArrayUsingComparator:;sortedArrayUsingDescriptor

黑马程序员——C学习总结之数组排序算法实现

发表试试 黑马程序员--C学习总结之数组排序算法实现,布布扣,bubuko.com