c++实现 数组值左移右移

题目

1.实现三个函数
(1)打印数组
(2)数组值进行左移 通过由用户自定义左移几位
(3)数组右移

分析

(1)打印数组很简单,我们可以用for循环遍历数组,进行打印。
(1)左移,我们首先想一下左移一位该怎么办
如果定义了一个数组 元素顺序是1 2 3 4 5 6
那么左移一位之后将变成2 3 4 5 6 1 来 我们整理一下思路,这样想 我们可以把第一个值取出来存到一个变量里面 ,把后面的值依次往前提一位,最后再把第一个值赋值给最后一位。最后再加上循环,你要移几位就循环几次,
(3)右移和左移原理一样

设计

(1)给定一个数组,用sizeof计算数组长度,用for循环实现一个打印数组函数,在左移和右移后调用即可。
(2)定义三个变量,一个控制内层循环,一个控制外层循环,一个暂存临时变量。在定义一个变量,用来接收用户自定义的左移右移的数目。左移时,把第一个值取出来,接下来用for循环实现把剩下的元素都往左挪一位,也就是a[j]=a[j+1];等全部左移完毕,再把取出来的存在临时变量中得值放在最后一个元素的位置。外层循环控制移多少位。最后调用打印函数将数组打印出来。

代码实现

#include<stdbool.h>
#include<iostream>
using namespace std;//使用命令空间std
int arr[] = {
    1, 2, 3, 4, 5, 6, 7, 8 };
int len = sizeof(arr) / sizeof(arr
  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值