void BubbleSort(double arr[], int n)
{
double tmp;
for(int i=0; i<n; i++)
{
for(int j=i; j<n; j++)
{
if(arr[i]<arr[j])
{
tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
}
测试代码
#include <stdio.h>
void BubbleSort(double arr[], int n)
{
double tmp;
for(int i=0; i<n; i++)
{
for(int j=i; j<n; j++)
{
if(arr[i]<arr[j])
{
tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
}
int main(int argc, char *argv[])
{
double arr[]={3.14, 4.18, 5.59, 3.12};
BubbleSort(arr, sizeof(arr)/8);
for(int i=0; i<sizeof(arr)/8; i++)
{
printf("%lf ", arr[i]);
}
return 0;
}
结果
5.590000 4.180000 3.140000 3.120000