1008数组元素循环右移(20分)

一,题目描述

二,题目分析

循环右移 m 位,用一个循环,循环 m 次,用变量temp获取数组最后一位元素,并删除最后一位元素,最后将temp插入到数组的头部即可

三,代码解答

#include<iostream>
#include<vector>
using namespace std;

int main() {
	int n;        //整数个数
	int m;		//循环右移位数
	int num;
	cin >> n >> m;
	vector<int> arr;
	for (int i = 0; i < n; i++) {
		cin >> num;
		arr.push_back(num);
	}
	int temp;
	for (int i = 0; i < m; i++) {
		temp = arr.back();					//获取数组尾部元素
		arr.pop_back();						//删除尾部元素
		arr.insert(arr.begin(), temp);		//将尾部元素插入到数组头部
	}

	for (int i = 0; i < n; i++) {			//按格式输出
		if (i == n - 1) {
			cout << arr[i];
		}
		else cout << arr[i] << " ";
	}
	return 0;
}
发布了54 篇原创文章 · 获赞 14 · 访问量 3599

猜你喜欢

转载自blog.csdn.net/q2511130633/article/details/104567062