#一到一百不能被三整除的数

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中的一些编程例子的更多相关文章

  1. .Net中的socket编程例子

    vb2010: '发送端代码Public Class Form1    Inherits System.Windows.Forms.FormPrivate Sub Button1_Click(ByVa ...

  2. 网游中的网络编程3:在UDP上建立虚拟连接

    目录 网游中的网络编程系列1:UDP vs. TCP 网游中的网络编程2:发送和接收数据包 网游中的网络编程3:在UDP上建立虚拟连接 TODO 二.在UDP上建立虚拟连接 介绍 UDP是无连接的,一 ...

  3. Python中的并发编程

    简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执 ...

  4. 读懂Java中的Socket编程

    Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...

  5. 可爱的 Python : Python中的函数式编程,第三部分

    英文原文:Charming Python: Functional programming in Python, Part 3,翻译:开源中国 摘要:  作者David Mertz在其文章<可爱的 ...

  6. 读懂Java中的Socket编程(转)

    Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...

  7. Java 中的函数式编程(Functional Programming):Lambda 初识

    Java 8 发布带来的一个主要特性就是对函数式编程的支持. 而 Lambda 表达式就是一个新的并且很重要的一个概念. 它提供了一个简单并且很简洁的编码方式. 首先从几个简单的 Lambda 表达式 ...

  8. [翻译]在 .NET Core 中的并发编程

    原文地址:http://www.dotnetcurry.com/dotnet/1360/concurrent-programming-dotnet-core 今天我们购买的每台电脑都有一个多核心的 C ...

  9. C#中的函数式编程:序言(一)

    学了那么久的函数式编程语言,一直想写一些相关的文章.经过一段时间的考虑,我决定开这个坑. 至于为什么选择C#,在我看来,编程语言分三类:一类是难以进行函数式编程的语言,这类语言包括Java6.C语言等 ...

随机推荐

  1. dojo.create\dojo.place\dojo.empty\dojo.destroy\dojo.body

    1.dojo.create 1.create a node; 2.set attributes on it;  3.place it in the DOM. dojo.create(/*String| ...

  2. NULL & nil & Nil & NSNULL的区别

    nil 是 OC 的,空对象,地址指向 空(0) 的对象 在 OC 中,可以给空对象发送任何消息,不会出现错误 NULL 是 C 的,空地址,地址的数值是 0,是一个长整数 表示地址是空 NSNull ...

  3. sql一些命令

    1.创建表 create table tSId ( tSid int identity(1,1) primary key, tSName varchar(10) check(len(tSName)&g ...

  4. POJ 2594 - Treasure Exploration

    一个星球上有很多点,点与点之间有很多单向路 问可重点的最小路径覆盖 利用floyd缩点后求二分图最大匹配 #include <iostream> #include <cstdio&g ...

  5. ENOVIA 基础

    Part 零件 Part Master PM 如何表示零件:每当创建一个Part(给定一个Part Number),都回创建一个Part Master Part Master管理每个Part的最本质的 ...

  6. Oprofile安装与使用探索

    本文分别尝试了oprofile在x86平台和龙芯平台上的安装 一:oprofile的安装与配置(intel+ubuntu12.04) I. Oprofile 安装 Oprofile 包含在 Linux ...

  7. android的数据存储方式

    数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 ...

  8. Sql Server专题一:索引(中)

    写在前面的废话: 索引这个知识点,我前前后后不知道看了多少边,网上的文章五花八门,搞的我晕头转向,搞的牛逼点的就是测试索引带来的好处,还搞一大堆的测试数据出来,有意思吗?MS自己不会测试吗?这样的测试 ...

  9. WAS

    http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Fin ...

  10. Delph控制台(Console)程序添加图标和版权信息

    Delphi创建控制台(Console)程序默认是无法添加图标和版权的.经过仔细的对比窗体程序与控制台程序源码,发现窗体程序的工程文中,在uses结束begin开始的地方有一句如下代码:{$R *.r ...