好像距离上次提交oj已经过去3-4个月了,现在oj重新刷起。
由于手生,甚至连交换两块内存的值都有点吃力。
现在来研究一下swap()的实现。
涉及:
1. swap实现
2. inline, template等关键字的用法
3. 模板函数入门1
先上一段代码:
int n,i,j,temp,temp2;
scanf("%d",&n);
for(i = 0; i < n; i++){
scanf("%d",&a[i]);
}
for(i = 0; i < n; i++){
temp = i;
for(j = i; j < n; j++){
if(a[temp] > a[j])
{
temp = j;
}
}
/*交换两片内存的值*/
temp2 = a[i];
a[i] = a[temp];
a[temp] = temp2;
}
for(i = 0; i < n; i++){
if(i != n - 1)
printf("%d ",a[i]);
else
printf("%d",a[i]);
}
这段代码是冒泡排序。中间用到了交换两个数的值。
后来查找了一下标准库的写法。
XOJ1172: A+B
我目测这题跟位运算有关,准备搞一下