把这个表中所有奇数移到所有偶数前面去!求帮忙补一个函数void sorted(struct list a)

2025年02月23日 05:55
有1个网友回答
网友(1):

#include "stdio.h"
struct list
{
int data[100];
int last;
};
void sorted(struct list *a);
int main(void)
{
int i;
struct list a={{1,2,3,4,5,6,7,8,9},9};
sorted(&a);//这里要传递结构体a的值。不然在main函数里面得不到sort之后的值。
for( i=0; i<9 ; i++ )
{
printf ( "%d\n", a.data[i] );
}

return 0;
}

void sorted(struct list *a)
{
int i, j;
for( i=0; ilast ; i++ )
{
if( a->data[i] % 2 == 0 )
{
for( j=i+1; jlast ; j++ )
{
if( a->data[j] % 2 != 0 )
{
int temp=a->data[i];
a->data[i]=a->data[j];
a->data[j]=temp;
break;
}
}
}
}
}
算法用的不干练,楼主要是有兴趣,咱们一块儿探讨探讨。