php中的一些编程例子
#一到一百不能被三整除的数
for($i=1;$i<=100;$i++){
if($i%3 != 0){
$arr[] = $i;
}
}
var_dump($arr);
#水仙花数
for($i=0;$i<10;$i++){
for($j=0;$j<10;$j++){
for($k=0;$k<10;$k++){
$f=pow($i,3)+pow($j,3)+pow($k,3);
$g=$i*100+$j*10+$k;
if($f==$g){
$arrs[]=$g;
}
}
}
}
var_dump($arrs);
#回文数
for($i=11;$i<=99999;$i++){
$k = intval(strrev($i));
if($i == $k){
$array[] = $i;
}
}
echo "<pre>";
var_dump($array);
echo "</pre>";
#冒泡排序
function sort($arr){
for($i=0;$i<count($arr);$i++){
for($$j=0;$j<count($arr)-1;$j++){
if($arr[$j]>$arr[$j+1]){
$tem=$arr[$j+1];
$arr[$j+1]=$arr[$j];
$arr[$j]=$tem;
}
}
}
}
#选择排序
function sel_sort($arr) {
$len=count($arr);
for($i=0; $i<$len-1; $i++) {//控制循环多少次
$p = $i;//假设最小值的位置
for($j=$i+1; $j<$len; $j++) {//控制比较的次数
if($arr[$p] > $arr[$j]) {//比较得到最小值
$p = $j;//将最小值的位置保存在$p变量中
}
}
if($p != $i) {//一轮比较结束后,若最小值位置与假设位置不同,则将最小值位置换到$i处即可
$tmp = $arr[$p];
$arr[$p] = $arr[$i];
$arr[$i] = $tmp;
}
}
return $arr;
}
#插入排序
function ins_sort($arr) {
$len=count($arr);
for($i=1; $i<$len; $i++) {//控制循环多少次
$tmp = $arr[$i];//以一个值为指针和在他之前的值相比较
for($j=$i-1;$j>=0;$j--) {//控制比较的次数
if($tmp < $arr[$j]) {//如果指针小于数组值,则在数组值后插入一行,其值为$j数组值,将指针值赋予数组值,直到比较结束最小值被调至最前方
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
} else {
break;//如果一轮结束,没有小于的值则跳出循环
}
}
}
return $arr;
}
#快速排序
function far_sort($arr) {
$len = count($arr);
if($len <= 1) {
return $arr;
}
$base = $arr[0];//选择指针
$little = array();//小于指针的
$big = array();//大于指针的
for($i=1; $i<$len; $i++) {
if($base < $arr[$i]) {
$big[] = $arr[$i];
} else {
$little[] = $arr[$i];
}
}
$big = far_sort($big);
$little = far_sort($little);
return array_merge($little, array($base), $big);
}
#二分法排序
function erfenfa($arr,$k,$low=0,$high=0){
if(count($arr)!=0 && $high==0){
$high=count($arr);
}
if($low<=$high){
$mid=intval(($low+$high)/2);
if($arr[$mid]==$k){
return $mid;
}elseif($k<$arr[$mid]){
return erfenfa($arr,$k,$low=0,$mid-1);
}else{
return erfenfa($arr,$k,$mid+1,$high);
}
}else{
return false;
}
}
#自己在闲暇的时候写的例子,巩固的同时也相当于做个笔记,在以后的编程中多多进步,,,,,如果在程序中有什么需要改正的,希望读者可以提下意见,小女子感激不尽!!!!
php中的一些编程例子的更多相关文章
- .Net中的socket编程例子
vb2010: '发送端代码Public Class Form1 Inherits System.Windows.Forms.FormPrivate Sub Button1_Click(ByVa ...
- 网游中的网络编程3:在UDP上建立虚拟连接
目录 网游中的网络编程系列1:UDP vs. TCP 网游中的网络编程2:发送和接收数据包 网游中的网络编程3:在UDP上建立虚拟连接 TODO 二.在UDP上建立虚拟连接 介绍 UDP是无连接的,一 ...
- Python中的并发编程
简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执 ...
- 读懂Java中的Socket编程
Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...
- 可爱的 Python : Python中的函数式编程,第三部分
英文原文:Charming Python: Functional programming in Python, Part 3,翻译:开源中国 摘要: 作者David Mertz在其文章<可爱的 ...
- 读懂Java中的Socket编程(转)
Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...
- Java 中的函数式编程(Functional Programming):Lambda 初识
Java 8 发布带来的一个主要特性就是对函数式编程的支持. 而 Lambda 表达式就是一个新的并且很重要的一个概念. 它提供了一个简单并且很简洁的编码方式. 首先从几个简单的 Lambda 表达式 ...
- [翻译]在 .NET Core 中的并发编程
原文地址:http://www.dotnetcurry.com/dotnet/1360/concurrent-programming-dotnet-core 今天我们购买的每台电脑都有一个多核心的 C ...
- C#中的函数式编程:序言(一)
学了那么久的函数式编程语言,一直想写一些相关的文章.经过一段时间的考虑,我决定开这个坑. 至于为什么选择C#,在我看来,编程语言分三类:一类是难以进行函数式编程的语言,这类语言包括Java6.C语言等 ...
随机推荐
- PHP基础之 file_get_contents() 函数
定义和用法 file_get_contents() 函数把整个文件读入一个字符串中. 和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串. file_get ...
- relativelayout常用属性
===================================================================================== 整理于http://naot ...
- web.xml中<load-on-start>n</load-on-satrt>作用
如下面一段配置,我们再熟悉不过了: 我们注意到它里面包含了这段配置:<load-on-startup>1</load-on-startup>,那么这个配置有什么作用呢? 作用如 ...
- linux 内核开发基础
开发特点 不需要第三方库支持 使用GNU C 没有内存保护机制 杜绝浮点数 栈区固定 必须关注并发及同步 注意可移植性
- tomcat配置CATALINA_HOME变量
1.CATALINA_HOME是TOMCAT安装路径的别名,目的是为了方便使用TOMCAT 2.计算机>属性>环境变量, 新建环境变量.变量名为CATALINA_HOME ,变量值tomc ...
- Yii console 创建命令行应用
大家都知道PHP的程序没有进程概念,而且生命周期极短,无法实现一些定时计划或者是计划任务,今天我们看看在YII框架中如何使用计划任务创建命令行应用. 1.在 console/controllers 文 ...
- C++多态性中基类析构函数声明为虚函数
在用基类指针指向派生类时, 在基类析构函数声明为virtual的时候,delete基类指针,会先调用派生类的析构函数,再调用基类的析构函数. 在基类析构函数没有声明为virtual的时候,delete ...
- MySQL5.7新特性笔记
001.用户验证方式上的变化 MySQL5.7已经不要支持mysql_old_password验证插件,也不再支持old_password函数,也就说old_passwords也就不能被设置成1了.
- Oracle EBS-SQL (CST-1):检查BOM历史成本查询(Average Cost).sql
select msi1.segment1 父件编码, msi1.description 父件描述, msi1.primary_u ...
- Amzon MWS API开发之 请求报告
时间一晃而过又过了两周,博客园更新的速度确实有点慢,今天我要分享的是对请求报告的调用. 在文档中,相信大家也看了下面这个流程图吧? 相关流程,在文档中也有细说,我就不一一去Copy了:http://d ...