[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;
}
}
[PHP] 看博客学习插入排序的更多相关文章
- [javaSE] 看博客学习多线程的创建方式和优劣比较和PHP多线程
通过实现Runnable接口创建线程 获取Thread对象,new出来,构造函数参数:Runnable对象 Runnable是一个接口,定义一个类MyRunnable实现Runnable接口,实现ru ...
- [PHP] 看博客学习观察者模式
具体应用场景是,当subject的某个动作需要引发一系列不同对象的动作(比如你是一个班长要去通知班里的某些人),与其一个一个的手动调用触发的方法(私下里一个一个通知),不如维护一个列表(建一个群),这 ...
- [android] 看博客学习hashCode()和equals()
equals()是Object类提供的一个方法,众所周知,每一个java类都继承自Object,所以说每一个对象都有一个equals()方法,我们在用这个方法时却一般重写这个方法 Object类中eq ...
- [android] 看博客学习Android常见的几种RuntimeException
异常分为两种: 1.编译时异常 当编译时异常抛出时,需要对其进行处理声明,否则编译不通过 2.运行时异常 编译时不检测,运行时 如果抛出,程序会立刻停止 NullPointerException 空指 ...
- [javaSE] 看博客学习java并发编程
共享性 多线程操作同一个数据,产生线程安全问题 新建一个类ShareData 设计一个int 型的成员变量count 设计一个成员方法addCount(),把count变量++ 在main函数中开启多 ...
- [css3] 看博客学习别人的旋转的星球
定义一个div 太阳轨道sunline,边框显示出来,定义position为relative #sunline{ width: 500px; height: 500px; border:2px sol ...
- FPGA一个博客学习
FPGA一个博客学习 http://bbs.ednchina.com/BLOG_PERSONALCAT_100185_2001619.HTM
- EF6 Code First 博客学习记录
学习一下ef6的用法 这个学习过程时按照微软官网的流程模拟了一下 就按照下面的顺序来写吧 1.连接数据库 自动生成数据库 2.数据库迁移 3.地理位置以及同步/异步处理(空了再补) 4.完全自动迁移 ...
- 做个开源博客学习Vite2 + Vue3 (一)搭建项目
前言 不会 webpack,遇到报错就一头雾水,完全不知道怎么办,而且体积还大速度还慢. 所以尤雨溪做了 vite 后就很向往,只是知道自己水平有限还是等大佬先趟趟坑,等差不多了在跳. 现在vite2 ...
随机推荐
- Centos7 下一键安装JDK和Maven
JDK 1. 使用yum search java|grep jdk 查看jdk版本 2. 选择版本安装 yum install java-1.7.0-openjdk,如果用1.8的,只用改版本号即可. ...
- CefSharp 支持mp4
效果图: 下载链接:创建wpf项目引用 如下:链接:链接: https://pan.baidu.com/s/1UCJmslLPSDph7VrYhXM9gw 密码: j3n4 链接: https://p ...
- 【转】C#中Serializable序列化实例详解
这篇文章主要介绍了C#中Serializable序列化,以实例形式详细讲述了系列化的技术及各种序列化方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C#中Serializable序列化.分 ...
- 【wireshark】插件开发(五):C插件
1. Wireshark对C插件的支持 每个解析器解码自己的协议部分, 然后把封装协议的解码传递给后续协议. 因此它可能总是从一个Frame解析器开始, Frame解析器解析捕获文件自己的数据包细节( ...
- POJ 2603
#include<iostream> #include<stdio.h> #define M 350000 #define N 30000 using namespace st ...
- 利用Warensoft Stock Service编写高频交易软件--客户端驱动接口说明
Warensoft Stock Service Api客户端接口说明 Warensoft Stock Service Api Client Reference 本项目客户端驱动源码已经发布到GitHu ...
- mvc大对象json传输报错
public ActionResult GetLargeJsonResult() { return new ContentResult { Content = new JavaScriptSerial ...
- (转)Linux PS 详解
原文:https://cn.aliyun.com/jiaocheng/162702.html 摘要:原文地址:http://www.cnblogs.com/wangkangluo1/archive/2 ...
- pcm原始数据绘制
最近帮别人做了个东西,这里分享一下pcm原始数据绘图的思路 1.pcm数据采样位数,根据采样位数选取适合自己绘图的采样点的数量 2.计算出最大最小的的采样点的值差 3.根据要显示pcm数据的控件宽高, ...
- Intellij IDEA 编译等级与源代码等级不一致问题
错误:Error:java: javacTask: source release 1.7 requires target release 1.7 原因:生成class字节码的java版本,低于了源代码 ...