|
#include
<stdio.h>
void bsort(char
*arr,
int len)
{
int i, j, k, t, cnt
= 0;;
for(i
= len - 1; i
> 0; i
= k) {
for (j
= 0, k
= 0; j < i; j++)
{
if (*(arr
+ j)
> *(arr
+ j + 1))
{
t =
*(arr + j);
*(arr
+ j)
= *(arr
+ j + 1);
*(arr
+ j + 1)
= t;
k = j;
}
}
cnt++;
}
printf("cycle %d\n", cnt);
}
int main(int argc,
char *argv[])
{
int i = 0;
char arr[10]
= {3, 2, 5, 4, 4,
5, 6, 7, 8, 9};
while (i
< 10)
{
printf("%d ", arr[i++]);
}
i = 0;
putchar('\n');
bsort(arr, 10);
while (i
< 10)
{
printf("%d ", arr[i++]);
}
putchar('\n');
}
|