原理
冒泡排序算法原理如下:
比较相邻的元素,如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始遍历到结束,从而保证最后一个元素最大。重复上面的两个步骤,直至所有数字组合比较完成
#define SWAP(a, b) \
{ \
a = a ^ b; \
b = a ^ b; \
a = a ^ b; \
}
void bubbleSort(int *arr
, int size
)
{
int i
, j
, jsize
, tmp
;
size
-= 1;
for (i
= 0; i
< size
; ++i
)
{
jsize
= size
- i
;
for (j
= 0; j
< jsize
; ++j
)
{
if (*(arr
+ j
) > *(arr
+ j
+ 1))
{
SWAP(*(arr
+ j
), *(arr
+ j
+ 1));
}
}
}
}
转载请注明原文地址: https://mac.8miu.com/read-505243.html