假设要对含有n个数的序列进行升序排列,冒泡排序算法步骤是:
1、从存放序列的数组中的第一个元素开始到最后一个元素,依次对相邻两数进行比较,若前者大后者小,则交换两数的位置;
2、第1趟结束后,最大数就存放到数组的最后一个元素里了,然后从第一个元素开始到倒数第二个元素,依次对相邻两数进行比较,若前者大后者小,则交换两数的位置;
3、重复步骤1 n-1趟,每趟比前一趟少比较一次,即可完成所求。
...
分类:
编程语言 时间:
2016-02-09 20:00:11
阅读次数:
338
#include<stdio.h>
intmain()
{
inta[5],b[5];
inti;
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
scanf("%d",&b[i]);
a[i]=a[i]^b[i];
b[i]=a[i]^b[i];
a[i]=a[i]^b[i];
print("a[&d]=%d",i,a[i]);
printf("\n");
print("b[&d]=%d",i,b[i]);
}
return0;
}
分类:
编程语言 时间:
2015-10-23 00:10:29
阅读次数:
147
Java中使用异或(XOR)来交换两个整形变量的数值
分类:
其他好文 时间:
2015-10-07 13:23:44
阅读次数:
167
inta=8,b=9;a=a^b;b=b^a;a=a^b;
分类:
编程语言 时间:
2015-08-20 10:54:17
阅读次数:
98
无论是C/C++,还是java,默认情况是值传递,这就造成编写一般意义认为正确的交换两数的方法成为错误的。C++中可用指针或者引用方式避免#includeusing namespace std;//一般认为,但是由于传过去的是两个值,所以变量值不改变void swap1(int a ,int b){...
分类:
其他好文 时间:
2015-08-09 15:27:30
阅读次数:
111
1.位操作符的运算优先级比较低,因此尽量使用括号来确保运算顺序,否则很可能会得到莫明其妙的结果。比如要得到像1,3,5,9这些2^i+1的数字。写成int a = 1
2.奇偶判断
for (i = 0; i < 100; ++i)//输出0~100内所有奇数
if (i & 1)
printf("%d ", i);
putchar('\n');
3.不用第三方变量交换两数...
分类:
其他好文 时间:
2014-12-12 13:25:51
阅读次数:
231
1 d001 问候2 d002 加法3 d003 计算矩形的周长和面积4 d004 求两数中的较大者5 d005 求圆的周长 和 面积6 d006 交换两数值 7 d007 求两数的整数商 和 余数8 d008 求两数的整数商 和 商 9 d009 求梯形的面积10 d010 分离自然数
分类:
其他好文 时间:
2014-11-02 22:33:38
阅读次数:
192
线性表之顺序表奇偶调整,就是指将顺序表的奇数与偶数位置互换,以最优方法解决,因为方法很多,比如,开辟一个新的顺序表分别存放奇偶数,也可以从头向后寻找奇偶数放置到尾部或头部,但这些都会增大时间与空间的消耗。最优法则是前后分别寻找奇偶不同类型数,满足前奇后偶(或前偶后期),交换两数位置,实现时间复杂度O(n),空间O(1)的方案。
void AdjustSqlist(SeqList *L)
{
...
分类:
其他好文 时间:
2014-09-21 22:34:33
阅读次数:
510
冒泡排序:n个数,经过n-1趟子排序完成的,第 i 趟子排序从第1个数至第 n-i 个数,若第i个数比后一个数大(则升序,小则降序)则交换两数。
分类:
其他好文 时间:
2014-09-19 15:22:45
阅读次数:
125