当前位置:网站首页 > 更多 > 编程开发 > 正文

[算法刷题] 试题 算法提高 交换Easy

作者:CC下载站 日期:2020-03-17 00:00:00 浏览:59 分类:编程开发

资源限制时间限制:1.0s 内存限制:512.0MB问题描述  给定N个整数组成的序列,每次交换当前第x个与第y个整数,要求输出最终的序列。输入格式  第一行为序列的大小N(1<=N<=1000)和操作个数M(1<=M<=1000)。
  第二行包含N个数字,表示初始序列。
  接下来M行,每行两个整数x,y (1<=x,y<=N),表示要交换的两个整数。在一次交换中,如果x和y相等,则不会改变序列的内容。输出格式  输出N行,为交换后的序列中的数。样例输入5 2
1 2 3 4 5
1 2
3 4样例输出2
1
4
3
5
importjava.util.*;
publicclassjiaohuaneasy{

	/**
	*@paramargs
	*试题算法提高交换Easy
	*/
	publicstaticvoidmain(String[]args){
		//TODOAuto-generatedmethodstub
		Scannersc=newScanner(System.in);
		//获取n,m;
		intn=sc.nextInt();
		intm=sc.nextInt();
		//将所有数字放入数组
		int[]list=newint[n];
		for(inti=0;i<list.length;i++){
			list[i]=sc.nextInt();
		}
		//根据m决定判断次数
		for(inti=0;i<m;i++){
		//x为第一个数index,y为第二个数的index
			intx=sc.nextInt()-1;
			inty=sc.nextInt()-1;
			//temp为暂时值
			inttemp=0;
			//遍历数组,当遇到下标为x的时候进行交换
			for(intj=0;j<list.length;j++){
				if(j==x){
					temp=list[j];
					list[j]=list[y];
					list[y]=temp;
				}
			}
		}
		//遍历输出
		for(inti=0;i<list.length;i++){
			System.out.println(list[i]);
		}
	}

}


您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯