免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 草上飞2008
打印 上一主题 下一主题

大赛评选结果已出,敬请关注!:PHP编程大赛隆重启动,PHP开发大挑战 [复制链接]

论坛徽章:
0
831 [报告]
发表于 2011-05-17 17:13 |只看该作者
期待今年的,我要参加。。

论坛徽章:
0
832 [报告]
发表于 2011-05-31 16:07 |只看该作者
火速围观!牛人招PHP技术员-出得厅堂,下得厨房,进得洞房!有木有!!有木有!!

http://     bbs.phpchina.com/thread-214382-1-1.html   这公司太有才了,做PHP的还要求会武功,找金庸大师学学吧,笑死俺了哈哈

论坛徽章:
0
833 [报告]
发表于 2011-08-09 10:56 |只看该作者
第一题要求在一组数中,插入一个新数,并维护原来的排序方式不变

  1. <?php
  2. $arr = array(1,3,5,7,9);
  3. $arr2 = array(9,7,5,3,1);

  4. print_r(insertValIntoArray($arr,-1));
  5. print_r(insertValIntoArray($arr,10));
  6. print_r(insertValIntoArray($arr,2));
  7. print_r(insertValIntoArray($arr,5));
  8. print_r(insertValIntoArray($arr2,-1));
  9. print_r(insertValIntoArray($arr2,10));
  10. print_r(insertValIntoArray($arr2,2));
  11. print_r(insertValIntoArray($arr2,5));

  12. function insertValIntoArray($arr, $val) {
  13.        
  14.         $flag = 0;
  15.         $total = count($arr);//总数
  16.         $flag = $arr[$total-1] > $arr[$total-2] ? 0:1;//0:小到大,1:大到小
  17.        
  18.         if (!$flag) {
  19.                 for ($i=0; $i<$total; $i++) {
  20.                         if ($val < $arr[0]) {
  21.                                 for ($j=$total-1; $j>=$i; $j--) {
  22.                                         $arr[$j+1] = $arr[$j];
  23.                                 }
  24.                                 $arr[$i] = $val;
  25.                                 break;
  26.                         }
  27.                         if ($val > $arr[$total-1]) {
  28.                                 array_push($arr, $val);
  29.                                 break;
  30.                         }
  31.                         if ($val == $arr[$i]) {
  32.                                 $temp = 0;
  33.                                 for ($j=$total-1; $j>=$i; $j--) {
  34.                                         $arr[$j+1] = $arr[$j];
  35.                                 }
  36.                                 $arr[$i] = $val;
  37.                                 break;
  38.                         } else if ($val > $arr[$i] && $val < $arr[$i+1]) {
  39.                                 for ($j=$total-1; $j>=$i+1; $j--) {
  40.                                         $arr[$j+1] = $arr[$j];
  41.                                 }
  42.                                 $arr[$i+1] = $val;
  43.                                 break;
  44.                         }
  45.                 }

  46.         } else {
  47.                 for ($i=0; $i<$total; $i++) {
  48.                         if ($val > $arr[0]) {
  49.                                 for ($j=$total-1; $j>=$i; $j--) {
  50.                                         $arr[$j+1] = $arr[$j];
  51.                                 }
  52.                                 $arr[$i] = $val;
  53.                                 break;
  54.                         }
  55.                         if ($val < $arr[$total-1]) {
  56.                                 array_push($arr, $val);
  57.                                 break;
  58.                         }
  59.                         if ($val == $arr[$i]) {
  60.                                 $temp = 0;
  61.                                 for ($j=$total-1; $j>=$i; $j--) {
  62.                                         $arr[$j+1] = $arr[$j];
  63.                                 }
  64.                                 $arr[$i] = $val;
  65.                                 break;
  66.                         } else if ($val < $arr[$i] && $val > $arr[$i+1]) {
  67.                                 for ($j=$total-1; $j>=$i+1; $j--) {
  68.                                         $arr[$j+1] = $arr[$j];
  69.                                 }
  70.                                 $arr[$i+1] = $val;
  71.                                 break;
  72.                         }
  73.                 }
  74.         }
  75.         return $arr;
  76. }
复制代码

论坛徽章:
0
834 [报告]
发表于 2011-08-23 09:23 |只看该作者
答案后边就乱了

论坛徽章:
0
835 [报告]
发表于 2011-10-25 15:27 |只看该作者
额,答案出来了,看看。。

论坛徽章:
0
836 [报告]
发表于 2012-04-25 14:51 |只看该作者
那个下载文档整理得太差了,文档结构乱,明显错别字。

建议楼主能重新整理一份,必定是精华啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP