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。
查看全文
相关阅读:
通过百度地图API实现搜索地址--第三方开源--百度地图(三)
对图片进行各种样式裁对图片进行各种样式裁剪:圆形、星形、心形、花瓣形等剪:圆形、星形、心形、花瓣形等--第三方开源--CustomShapeImageView
仿UC天气下拉和微信下拉眼睛头部淡入淡出--第三方开源--PullLayout
【英语】Bingo口语笔记(14)
【前端】HTML入门笔记
【英语】Bingo口语笔记(13)
【英语】20141013 生词
【英语】20141011 生词
【Android】Android 学习记录贴
【英语】Bingo口语笔记(12)
原文地址:https://www.cnblogs.com/zxc12/p/12049360.html
最新文章
JSP Ajax
配置 Struts2 Hello World
Linux 源码的安装 3个步骤
关于解决JQuery发送Ajax请求后,IE缓存数据不更新的问题
截取长文本,显示省略号(多行)
css3媒体查询判断移动设备横竖屏
12个你未必知道的CSS小知识
css3加载中
轮播图
[Jquery] js获取浏览器滚动条距离顶端的距离
热门文章
[JavaScript] js 复制到剪切板
[JavaScript] js实现简单的代码运行框
[JavaScript] js 迅雷评分效果
Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout
Android Material Design:ViewPager与android.support.design.widget.TabLayout双向交互联动切换
生动有趣的动画Toast--第三方开源--NiftyNotification
伴随ListView、RecyclerView、ScrollView滚动滑入滑出小图标--第三方开源--FloatingActionButton
Android Material Design:滑动指示选项卡android.support.design.widget.TabLayout的简单使用
使用android.support.design.widget.TabLayout出现java.lang.reflect.InvocationTargetException
精美舒适的对话消息提示框--第三方开源--SweetAlertDialog
Copyright © 2011-2022 走看看