一.冒泡排序
1 56
2 23
3 47
4 18
5 84
将第一行与第二行的数值作比较,若前一行大于后一行,则位置交换,反之则不换。
第一趟
23 56 47 18 84
23 47 56 18 84
23 47 18 56 84
第二趟
23 47 18 56 84
23 18 47 56 84
第三趟
18 23 47 56 84
int main()
{
int *p = NULL;
int n = 0;
scanf-s("%d",&n);
p = new int [n];
for(int i = 0; i < n; ++i)
{
p[i] = i;
}
for(int i = 0; i < n; ++i)
delete p;
return 0;
}
void BubbleSort (int* br, int n)
{
assert (br != NULL);
for (int i = 1 ; i < n; ++i)
{
for (int j = 0; j < n; ++j
{
if (br[j] > br{ j + 1])
{
int tmp = br[j];
br[j] = br[j+ 1];
br[j + 1] = tmp;
}
}
}
}
二.进制转换
128 64 32 16 8 4 2 1
103 0 1 1 0 0 1 1 1 二进制
001 100 111
1 4 7 八进制
0110 0111
6 7 十六进制
int Get1Bit ( int x )
{
int sum = 0;
int a = 1;
for (int i = 0; i< 32; ++i)
{
if (x & a)
{
sum += 1;
}
a = a << 1;
}
return sum;
}