关于冒泡例程咨询
疑问
程序里加入#ifdef BUBBLE_SORT什么意思
我想引用这两个子程序,不加#ifdef BUBBLE_SORT,编译就报错,我没看出他什么作用,请高手指教
#ifdef BUBBLE_SORT //使用冒泡排序
//========================================================================
// 函数: void DataSwap(u16* data1, u16* data2)
// 描述: 数据交换函数。
// 参数: data1,data2 要交换的数据.
// 返回: none.
// 版本: VER1.0
// 日期: 2021-9-27
// 备注:
//========================================================================
void DataSwap(u16* data1, u16* data2)
{
u16 temp;
temp = *data1;
*data1 = *data2;
*data2 = temp;
}
//========================================================================
// 函数: void BubbleSort(u16* pDataArry, u8 DataNum)
// 描述: 冒泡排序函数。
// 参数: pDataArry需要排序的数组,DataNum需要排序的数据个数.
// 返回: none.
// 版本: VER1.0
// 日期: 2021-9-27
// 备注:
//========================================================================
void BubbleSort(u16* pDataArry, u8 DataNum)
{
bit flag;
u8 i,j;
for(i=0;i<DataNum-1;i++)
{
flag = 0;
for(j=0;j<DataNum-i-1;j++)
{
if(pDataArry[j] > pDataArry[j+1])
{
flag = 1;
DataSwap(&pDataArry[j], &pDataArry[j+1]);
}
}
if(!flag) //上一轮比较中不存在数据交换,则退出排序
{
break;
}
}
}
//#endif