,关于排序,请高手给我解释下这个程序,不明白
通过指针变量来对已排序的数组中的元素进行排序,要求:奇数序号的放在数组的前面,偶数序号的放在数组的后面。例如:a[4]={1,2,3,4,5,6},排列后为:a[4]={1,3,5,2,4,6}。#include<stdio.h>
void paixu(int*p1,int *p2,int n)
{
int i;
for(i=0;i<n;i++)
if(i%2==0)
*(p2++)=*(p1+i);
for(i=0;i<n;i++)
if(i%2!=0)
*(p2++)=*(p1+i); [color=#00FF00]//我不懂为什么这两句一样的,这样为什么就可以把奇数序号的排到前面来
}
[/color]
void main()
{
int a[10],b[10];
int j,*x=NULL,*y=NULL;
x=a;y=b;
for(j=0;j<10;j++)
scanf("%d",x++);
x=a;
paixu(x,y,10);
for(j=0;j<10;j++)
printf("%5d",*(y++));
}