[PHP] 看博客学习插入排序

定义数组长度变量$len,使用count()函数,参数:数组

for循环数组,条件:从第二个开始,遍历数组,循环内

定义临时变量$temp,赋值当前元素

for循环数组,条件:遍历当前元素前面的所有元素

判断当前元素与它前面的元素的大小,利用临时变量,转换变量

PHP版:

<?php
$arr=array(2,3,4,1,5);
function insert_sort($arr){
    $len=count($arr);
    for($i=1;$i<$len;$i++){
        $temp=$arr[$i];
        for($j=$i-1;$j>=0;$j--){
            if($temp<$arr[$j]){
                $arr[$j+1]=$arr[$j];
                $arr[$j]=$temp;
            }else{
                break;
            }
        }
    }
    return $arr;
}
$arr=insert_sort($arr);
print_r($arr);

java版:

package com.tsh.mthread;

public class Home {

    public static void main(String[] args) {
        int[] arr=new int[]{2,3,4,1,5};
        arr=insert_sort(arr);
        for(int x:arr){
            System.out.println(x);
        }

    }
    /**
     * 插入排序
     * @param arr
     * @return
     */
    public static int[] insert_sort(int[] arr) {
        int len=arr.length;
        for(int i=1;i<len;i++){
            int temp=arr[i];
            for(int j=i-1;j>=0;j--){
                if(temp<arr[j]){
                    arr[j+1]=arr[j];
                    arr[j]=temp;
                }else{
                    break;
                }
            }
        }
        return arr;
    }
}
时间: 2024-11-10 11:19:12

[PHP] 看博客学习插入排序的相关文章

[android] 看博客学习hashCode()和equals()

equals()是Object类提供的一个方法,众所周知,每一个java类都继承自Object,所以说每一个对象都有一个equals()方法,我们在用这个方法时却一般重写这个方法 Object类中equals()方法源码 public boolean equals(Object obj) { return (this == obj); } 此时比较的是两个引用是否指向同一个对象,我们来使用这个方法的时候往往是希望比较两个对象逻辑上是否相等 String类重写了equals()方法,因此: Str

[android] 看博客学习Android常见的几种RuntimeException

异常分为两种: 1.编译时异常 当编译时异常抛出时,需要对其进行处理声明,否则编译不通过 2.运行时异常 编译时不检测,运行时 如果抛出,程序会立刻停止 NullPointerException 空指针引用异常 ClassCastException 类型转换异常 IllegalArgumentException 非法参数异常 ArithmeticException 算数运算异常 IndexOutOfBoundsException 下标越界异常 NumberFormatException 数字格式

[javaSE] 看博客学习java并发编程

共享性 多线程操作同一个数据,产生线程安全问题 新建一个类ShareData 设计一个int 型的成员变量count 设计一个成员方法addCount(),把count变量++ 在main函数中开启多个线程操作这个成员变量,在main函数里 获取ShareData对象,new 出来 使用for循环10次,在循环中开启线程,模拟10个线程并发,在循环内 获取Thread对象,new出来,构造函数参数:Runable对象 匿名内部类实现Runable接口,重写run()方法 调用Thread.sle

struts2博客学习之旅

1.博客学习笔记(感谢博主):http://www.cnblogs.com/xiaolongSunny/ 2.struts检验器[使用 visitor 校验复合属性 ](感谢博主):http://takeme.iteye.com/blog/1667716

再学IHanlder 类----------------关于Asp.net与iis原理网上看博客收获写一个验证码用一般处理程序记的好长时间前就写过不过现在再看有点不一样的感觉

建一个web网站 新建一般处理程序直接贴代码: using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.SessionState;using System.Drawing;using System.Text;using System.Drawing.Imaging; namespace HandlerStudy{    /// <summary>    /

关于写博客,看博客

每次看到很多人坚持写那么多的好博客,我都会产生怎么自己不写博客的想法.于是乎,在激情的驱使下就会随手写几段文字,然后就不了了之了. 今天又看了cici珵的博客(北大cs本科,博士,美女),再次萌生了写自己的博客的想法. (似乎又要开始写自己这个人怎么怎么样,兴趣广泛,但是做事情不够努力:目标很多,但是不能坚持去做,这些对个人的分析了.反正每次真正着手做一件事情之前总是想分析一下之前怎么怎么做的不好.) 关于cici珵,是昨天刷知乎,看到覃超(覃超大魔王)的知乎专栏文章,关于楼教主从google离

android fragment 博客 学习记录

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上). 本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity交互,Fragment与Activity交互的最佳实践,没有视图的Fragment的用处,使用Fragment创

django参考博客学习

网上发现其他人的一个django系列博客,和我学的一样是黑马的,写的挺不错的,转载学习一下 https://blog.csdn.net/u014745194/article/category/6989943 原文地址:https://www.cnblogs.com/regit/p/9023081.html

mybatis博客学习的方式

1.参考完整的博客笔记:http://www.cnblogs.com/xdp-gacl/tag/MyBatis%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/ 2.补充博客1中的mybatis多对多查询:http://www.cnblogs.com/chenliyang/p/6548400.html