70,037
社区成员
发帖
与我相关
我的任务
分享
#include "stdio.h"
#define MAX_NUM 10
#define SWAP_V(a, b, c) \
{ \
c = a; \
a = b; \
b = c; \
}
void PrintValue(int value[])
{
int i;
for (i = 0; i < MAX_NUM; i++)
{
printf(" %d, ", value[i]);
}
printf("\n");
}
void dbubblesort(int r[], int n)
{
int i;
int j;
int k;
int temp;
for (i = 0; i < n; i++)
{
for (j = 0; j < n-i; j++)
{
if (r[j] > r[j+1])
{
SWAP_V(r[j], r[j+1], temp);
}
}
for (k = j-1; k > 1; k--)
{
if (r[k] < r[k-1])
{
SWAP_V(r[k-1], r[k], temp);
}
}
}
}
int main(int argc, char **argv)
{
int table[MAX_NUM] =
{
1, 8, 2, 9, 5,
5, 10, 7, 90, 50
};
printf("sort before:");
PrintValue(table);
dbubblesort(table, MAX_NUM);
printf("sort after:");
PrintValue(table);
return 0;
}