2021-07-07

一.冒泡排序
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成
例如: 1, 34, 56, 8, -32, 7, -9, 0, 235
第一次:1, 34, 8,-32 ,7 , -9, 0, 56, 235 235最大的排在了最后
第二次:1,8,-32,7,-9,0,34,56,235 56除235之外的最大的排在了最后

第八次:-32,-9,0,1,7,8,34,56,235
代码主要为比较:
#include
using namespace std;
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;}

二、比较数组大小
#include
using namespace std;
int main()
{
int* p = NULL;
int a = 0;
scanf_s("%d", &n);
p = new int[n];
p = (int*)malloc(sizeof(int) * n);
for (int i = 0; i < n; ++i)
{
p[i] = i;
}
for(int i=0;i<n;++i)
{
printf("%d", p[i]);
}
delete p;
return 0;
}
三、判断化为二进制后有多少一#include
using namespace std;
int Get1Bit(int x)
{
int sum = 0;
while (x != 0)
{
if (x & 0x01)
{
sum += 1;
}
x = >> 1;
}
int main()
{
int x = 23;
int sum = Get1Bit(int x);
printf("%d\n", sum);
return 0; }
}
四、与、或的基本问题“与运算”的特殊用途:(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。
(2)取一个数中指定位方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。例:设X=10101110,取X的低4位,用 X & 0000 1111 = 00001110 即可得到; 还可用来取X的2、4、6位。按位或运算符(|)参加运算的两个对象,按二进制位进行“或”运算。运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;即 :参加运算的两个对象只要有一个为1,其值为1。例如:3|5 即00000011 | 0000 0101 = 00000111 因此,3|5的值得7。
#include
using namespace std;
int main()
{
char a = 67;
char b = 0x54;
char c = 0;
c = a & b;
printf("%x\n", c);
c = a | b;
printf("%x\n", c);
c = a ^ b;
printf("%x\n", c);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值