今天用C语言写了一段线性表中基数排在偶数前面的函数
/奇数排在偶数之前/
Status AdjustList_Sq(SqList &L)
{
ElemType *p, *q;
int temp,i=0;
p=L.elem;
q=L.elem+L.length-1;
for(;p<=q;p++)
{
for(i=0;i<L.length;i++)
{
if((p%2==0)&&((p+i)%2!=0))
{
temp=*p;
p=(p+i);
*(p+i)=temp;
}
}
}
运行这个函数,有时能得到正确结果,有时则会出现以下情况:
奇怪了!怎么偶数全变成垃圾值了?求大佬指点!!