#include <stdio.h>
#include <stdlib.h>
void direct(int *array, int n)
{
int tmp;
if ( n > 1 ) {
direct( array, n-1);
if ( *(array+n-2) > *(array + n-1) ) {
tmp = *(array + n -2) ;
*(array + n -2) = *(array + n-1);
*(array + n- 1) = tmp;
}
}
}
void grub(int *array , int n)
{
int i ;
for (i = n; i > 0 ; i--)
direct (array, i);
}
int main(void)
{
int counter;
printf("please input the counter\n");
scanf("%d", &counter);
int array[counter+1];
int i;
printf("please input the array[%d]\n",counter);
for ( i = 0; i < counter+1; i++) {
*(array+i) = rand() % 100;
// *(array+i) = random(0, 1000);
// scanf("%d",array+i); // you can interchange this for hand input
printf("array[%d] = %d ", i, *(array+i));
printf("\n");
}
printf (" you input array as following :\n");
for ( i = 0 ; i < counter; i++)
printf("%d\t",*( array+i));
printf ("\n");
grub( array, counter);
printf (" The sort after array:\n");
for (i = 0; i < counter; i++) {
printf("%d\t",*(array + i));
if (( (i+1) % 10 == 0) )
printf("\n");
}
printf( "\n");
return 0;
}
c 排序采用递归冒泡法
最新推荐文章于 2022-08-19 21:25:25 发布