zoukankan
html css js c++ java
数字循环右移 解题报告
数字循环右移
题目如下:
一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(a0 a1 ⋯an−1 )变换为(an−m ⋯an−1 a0 a1 ⋯an−m−1 )(最后m个数循环移至最前面的m个位置)。
我的思路:
题目明确告诉我们要将每个整数循环向右移动,所以这题可以嵌套循环,逐个移动,容易理解,但效率相对低一点。使用链表可以提高效率。解决这个问题我们需要知道用户传入数据的数量n以及移动的位数m。
方法一:
创建一个数组保存用户传入的数据,每一次循环中先将数组的最后一个数保存到临时变量里,然后逐个右移赋值,再将临时变量赋值给第一个数组元素,进行m个循环即可。
流程图如下:
方法二:
使用尾插法建立一个链表存放用户传入的数据,先连后断,先让表尾指向表头,再找到指定的位置断开并把断开后的下一个结点作为表头
核心代码如下:(建立链表部分省略)
其中m=m%n是为了减少重复循环,for循环是为了找到需要断开的结点。
至于流程图,咕wo咕bu咕hui咕hua。
查看全文
相关阅读:
CADisplayLink
对项目重命名
TCP|UDP|Http|Socket
CoreAnimation|动画
Autolayout
通讯录
本地通知
用于做 Android 屏幕自适应的文章资源
Java String.format 自动补全不够的位数
不同语言之间 日期格式转换
原文地址:https://www.cnblogs.com/zxc12/p/12049360.html
最新文章
【Swift】Alamofile网络请求数据更新TableView的坑
【swift】BlockOperation和GCD实用代码块
android网络请求之POST方法
android网络请求之get方法
用对象型泛型和ArraysList写一个输入学员信息并展示
用多态写一个租赁公司的出租信息
多态
坑中速记整理! 使用 kotlin 写第一个 ReactNative Android 模块
golang 标准库间依赖的可视化展示
解决 lispbox macOS 不兼容问题
热门文章
现在,以编程方式在 Electron 中上传文件,是非常简单的!
可以打印栈信息的日志函数,移动混合开发必备!!!
记一个同时支持模糊匹配和静态推导的Atom语法补全插件的开发过程: 序
实现iOS图片等资源文件的热更新化(五): 一个简单完整的资源热更新页面
实现iOS图片等资源文件的热更新化(四): 一个最小化的补丁更新逻辑
实现iOS图片等资源文件的热更新化(三):动态的资源文件夹
实现iOS图片等资源文件的热更新化(二):自定义的动态 imageNamed
处理Model
CoreData
UIPickerView
Copyright © 2011-2022 走看看