码迷,mamicode.com
首页 > 编程语言 > 详细

位图排序

时间:2019-12-24 09:27:36      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:start   amp   ++   for   int   pre   bit   size   highlight   

$bitmap=array_fill(0,1,0);
$arr =[1,4,3,6,7];
$size = PHP_INT_SIZE * 8;

foreach ($arr as $key => $value){
	$index = floor($value/$size);
	$pos = $value%$size;
	$tmp = 1 << $pos;
	$bitmap[$index]=$bitmap[$index] | $tmp;
}

foreach ($bitmap as $k => $v) {
	$start = $k*$size;
	for($i=0;$i<$size;$i++){
		$t =1<< $i;
		if($v & $t){
			echo $start+$i.PHP_EOL;
		}
	}
}

  

位图排序

标签:start   amp   ++   for   int   pre   bit   size   highlight   

原文地址:https://www.cnblogs.com/zh718594493/p/12089212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!