解题思路: 思路简单
注意事项:
参考代码:
#include
#include
typedef struct _exchange{ int x ; int y; } EXC ;
int main()
{
int n , m ;
scanf("%d %d",&n,&m);
EXC *px ;
px = (EXC *)malloc(m*sizeof(EXC));//创建结构体存储空间
int *pa ;
pa = (int *)malloc(n*sizeof(int));//存储数组
int i ;
for( i = 0 ; i < n ; i ++)
{
scanf("%d",pa++);
}
pa = pa - n ;
int x ,y ;
for( i = 0 ; i < m ; i ++)
{
scanf("%d %d",&x,&y);
// scanf("%d %d",&px->x,&px->y);
px->x = x - 1 ;
px->y = y - 1 ;
px ++ ;
}
px = px - m ;//恢复到0的位置
for( i = 0 ; i < m ; i ++)
{
if( px->x == px->y)
{
px ++ ;
continue ;
}
else
{
*(pa+px->x) ^= *(pa+px->y) ;
*(pa+px->y) ^= *(pa+px->x) ;
*(pa+px->x) ^= *(pa+px->y) ;
px ++ ;
}
}
for( i = 0 ; i < n ; i ++)
{
printf("%d\n",*pa++);
}
return 0;
}