zoukankan      html  css  js  c++  java
  • 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;
    }
    }

    #自己在闲暇的时候写的例子,巩固的同时也相当于做个笔记,在以后的编程中多多进步,,,,,如果在程序中有什么需要改正的,希望读者可以提下意见,小女子感激不尽!!!!

  • 相关阅读:
    oracle内核参数详解
    oracle分区表原理学习
    expdp导出时报错ora-16000
    【CS224n-2019学习笔记】Lecture 1: Introduction and Word Vectors
    【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作
    【SQL必知必会笔记(2)】检索数据、排序检索数据
    【SQL必知必会笔记(1)】数据库基础、SQL、MySQL8.0.16下数据库、表的创建及数据插入
    win10,64位操作系统安装mysql-8.0.16经验总结(图文详细,保证一次安装成功)
    【机器学习实战笔记(3-3)】关于朴素贝叶斯实现代码中的一些错误总结
    【机器学习实战笔记(3-2)】朴素贝叶斯法及应用的python实现
  • 原文地址:https://www.cnblogs.com/lyy-php/p/4432044.html
Copyright © 2011-2022 走看看