解题思路:
注意事项:
动态分配(或者直接定义一个足够大的全局数组)
交换两数下标相同时不交换,节约时间
参考代码:
#include <iostream>
using namespace std;
int main ()
{
int n,m;
cin>>n>>m;
double *p=new double [n+1];
for(int i=1;i<=n;i++)
cin>>*(p+i);
for(int i=0;i<m;i++)
{
int a,b;
cin>>a>>b;
if(a!=b){
double temp;
temp=*(p+a);
*(p+a)=*(p+b);
*(p+b)=temp;
}
}
for(int i=1;i<=n;i++)
cout<<*(p+i)<<endl;
return 0;
}
0.0分
0 人评分