发博文
个人资料
刘知明
刘知明
  • 博客等级:
  • 博客积分:379
  • 博客访问:17,777
  • 关注人气:3
视频播放器
评论
加载中…
留言
加载中…
音乐播放器
夷穆客站

夷穆客空间 IMKOW VACUUM

收集资源的地方,也希望成为公共讨论区

兴武起居注 MSN SPACE

微软镜像,同步更新

上善若水

孙菲菲的网志,仰望一下

访客
加载中…
好友
加载中…
博文
标签:

quicksort

php

杂谈

分类: 计算机技术
<?php
function qsort(&$a, $start, $end){
$left=$start; $right=$end;
if($end > $start){
$p=intval(($start + $end)/2);
while(($left <= $p) and ($right >= $p) )
{
while( ($a[$left] < $a[$p]) and ($left <= $p) ) $left++;
while( ($a[$right] > $a[$p]) and ($right >= $p) ) $right--;
$t=$a[$left]; $a[$left]=$a[$right]; $a[$right]=$t;
$left++; $right--;
if( ($left - 1)=== $p){ $right++; $p = $right; }
elseif(($right + 1) === $p){ $left--; $p = $left; }
}
qsort($a, $start, $p-1); qsort($a, $p+1, $end);
}
}
$a= array(20,40,30,70,50,1,9,4);
qsort($a,0, count($a)-1);
var_dump($a);
=======
array
  0 => int 1
  1 => int 4
  2 => int 9
  3 => int 20
  4 => int 30
  5 => int 40
  6 => int 50
  7 => int 70
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

c

四则运算

杂谈

 优点:简短,有扩展性,支持浮点小数,支持正负数输入 
 #include<iostream> #include <stack> #include <cstdlib> #include <sstream> using namespace std;  enum EAction{PUSH,POP,FUSION,MELTDOWN,ACTION_ERROR}; EAction decideAction(stack<char> &op_stack, char cur_op){         if(op_stack.empty()) return PUSH;         char last_op=op_stack.top();         switch(cur_op){         case '+':         case '-':                 if(last_op=='(')                         return PUSH;                 else                         return MELTDOWN;         break;         case'*':         case'/':                 if(last_op=='*'||last_op=='/')                         return FUSION;                 else                         return PUSH;         break;         case'(':                 return PUSH;         break;         default:             
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 

(特别分享给EC7车友)

行车记录仪属于安全监视器材,所以对生产、销售、甚至购买都有一定的法规要求。

正因为守法有一定成本,所以市面上低端的行车记录仪都为三无产品。

正牌产品多在千元以上,同价为正牌产品也比三无产品的配置和功能低一个档次。

购买这些五花八门的三无产品,就要注意产品的一些特征。

多选择一些对车主实用的功能。

 

分辨率、像素

480p:即可以拍摄640*480 VGA画质。多在200元以内,最低到100元。硬件30万像素。软件放大或诈称“120-300万像素”

720p:可以拍摄1280*720p。多在200-600元左右,硬件100万像素,诈称“500万像素”,分2档,

     cpu主频高点的,约400mhz,能压缩h.264,约400元以上。一般无漏秒。不少机型诈称“1080p”

     cpu主频低点的,约200-300mhz,不能压缩h.264,约200-400元。漏秒。

1080p: 真1080p的机子多在千元以上。

 

广角镜:

90度:绝大多数都是90度,诈称“120-140度”,靠墙拍室内,只能拍一个直角。

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 

发现Java 7平台下我国2个日期之间有异常变化

'1927-12-31 23:54:07 999',//毫秒戳值为-1325491904001L
'1927-12-31 23:54:08 000',//毫秒戳值为-1325491552000L

这两个日期按理应该只差1毫秒,但实际误差352秒(5分52秒)。

 

百思不得其解,向sun报告过bug
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7070044

得到回复,问题出在一个开源的时区数据库tzdata中对中国时区的设定。

 

于是总结原因如下

 

1912年成立的北洋政府分有5大时区,为中原、新藏、昆仑、陇蜀、長白。都使用中国传统的“地方平时”

1928年,蒋介石北伐成功,东北易帜。南京国民政府代替北洋政府完成对全国的统一(形式)。
南京国民政府用世界共用“格林威治平时”代替原来北洋政府的“地方平时”。

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 

在实践中经常会遇到“醴&#xD862;&#xDCE7;清”这样的代理对。导致无法转码成utf8。

可以这样处理

//将代理对转换成码位值Codepoint,输入高码和低码,原创函数。

function correctSurrogatePairs($high,$low){
 $mask=(1<<10)-1;
 return (($high&$mask)<<10)+($low&$mask)+0x10000;
}
$cp=correctSurrogatePairs(0xd862,0xdce7);
echo '&#x'.dechex($cp).';';//显示正确的unicode码位值。

 

//根据以上utf8官方格式,将任一unicode码位值转换成utf8的字节数据

//输入code point码位值,返回可显示的utf8字符。
function convertCodepointToUtf8($cp){
 if($cp<0x80){
  return chr($cp);
 }else{
  $count=0;
  $out='';
  while($cp>0x1f){
   $out=chr(($cp&0x3f)+0x80).$out;
   $cp>>=6;
   $count++;
  }
  $out=ch

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2011-06-11 07:51)
标签:

杂谈

1、YAGNI原则,You ain't gonna need it. 只实现需要的,不需要的即使预见到的需求,也不实现。unix和c是典范

2、POGE原则Principle of good enough,够好就行。

3、Worse is better简陋更好,又叫新泽西风格

4、KISS原则 保持简、短。

 

物质、硬件资源是有限的,而精神、软件的可能行是无限的。

这些原则是在有限的硬件资源之上工作时,不做无限的想象。降低成本的一种非常有效的原则

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

杂谈

初中简单题,编程或给出公式,求一个自然数的“壹之和”
自然数n属于 (0,  10的18次方] 的区间,在所有不大于n的正整数中,各个数位出现1的次数称为'壹之和',
例如数3,所有不大于3的正整数有1、2、3,其中只有'1'的个位数出现了1,所以3的'壹之和'为1,
例如13,有1、10、11、12、13共含有6个'1',所以13的'壹之和'为6。
输入n,输出n的'壹之和'。
要求
1、不用穷举、遍历法,要比穷举法好一点的算法或公式
2、编程语言不限,不编程给出真正可用的公式、伪代码也可
3、要求在短时间(几分钟可以,但不要几年)内能计算出N=999 999 999 999 999 999的'壹之和',

==========================

 

 总算做出来了
对于自然数N,
设第x数位的值为d[x],共有m位数字
设该位为1时所有可能的排列数为c[x],
设级数为p[x],
设第x数位左部的数为h[x],
设第x数位的右部的数为t[x],
设“壹之和”为OneSum

如N=123456,x=3,d[3]=4,p[3]=100, h[3]=123, t[3]=56
有如下公式
当d[x]==0时, c[x]=h[x]*p[x];
当d[x]==1时,c[x]=h

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2011-05-21 19:13)
标签:

杂谈

<?php
setcookie('iC1', '第1个cookie:刘大', time()+3600);
setcookie('iC2', '第2个cookie:关二', time()+3600);
setcookie('iC3', '第3个cookie:张三', time()+3600);
setcookie('iC4', '第4个cookie:李四', time()+3600);

//$ip='65.40.153.155';
//var_dump($ip,md5($ip));
?>
<html>
<head>
<meta content='text/html; charset=utf8' http-equiv='content-type'>

</head>
<body>
<script>

function trim(text){
 return (new String(text)).replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
document.writeln('响应cookie的\'大小\': '+document.cookie.length+'个字符<br />');
var aRawCookies=document.cookie.split(';');
document.writeln('响应cookie的数量: '+aRawCookies.length+'<br />');
//var count=0;
for(i in aRawCookies){
 var raw=aRawCookies[i].split('=');
 //alert(raw[0]);
 document.writeln(i+'. 名称:

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

杂谈

public static void main(String[] args) {
  //创建一个150x50,RGB高彩图,类型可自定
  BufferedImage img=new BufferedImage(150, 50, BufferedImage.TYPE_INT_RGB);
  //取得图形
  Graphics g=img.getGraphics();
  //设置黑色
  g.setColor(Color.BLACK);
  //填充
  g.fillRect(0, 0, img.getWidth(), img.getHeight());
  //在d盘创建个文件
  File file=new File('D:/test.png');
  try{
   //以png方式写入,可改成jpg其他图片
   ImageIO.write(img, 'PNG', file);
  }catch (IOException e){
   
   e.printStackTrace();
  }
  //d盘上就生成了这么个黑色图片

}

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

c语言

汇编

杂谈

BSWAP指令可对32位,64位寄存器有效

uint32_t changeEndian(uint32_t i){
    asm ('bswapl %0;'
        : '=r' (i)
        : 'r' (i)

    );
    return i;

}

对16位和128位可用XCHG指令。

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有