冒泡排序

mac2025-08-01  1

原理

冒泡排序算法原理如下:

比较相邻的元素,如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始遍历到结束,从而保证最后一个元素最大。重复上面的两个步骤,直至所有数字组合比较完成 // 两个数字交换 #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)); } } } }
最新回复(0)