#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
unsigned char ch = 1; //用来进行‘与’‘或’ 运算
int j = 0; //累加
int data[1000];
unsigned char tmp[125] = {0}; //排序数组
time_t t;
srand((unsigned int)time(&t));
for (int i = 0; i < 1000; i++)
{
data[i] = rand() % 1000;
if (data[i] % 8 == 0)
{
tmp[data[i] / 8 ] = tmp[data[i] / 8] | ch;
}
else
{
tmp[data[i] / 8] = tmp[data[i] / 8] | ch << data[i] % 8;
}
}
for (int i = 0; i <10; i++)
{
for (int k = 0; k < 8; k++)
{
if (tmp[i] & ch)
printf("%d ", j);
tmp[i] >>= 1;
j++;
}
}
system("pause");
}
位排序
最新推荐文章于 2023-01-19 17:37:53 发布