C语言数组元素循环右移问题及解决方法
C语言是一种通用的、面向过程式的计算机程序设计语言。1972年,为了移植与开发UNIX操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了C语言。
C语言是一种广泛使用的计算机语言,它与Java编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。
题目内容:
解题思路
方法一:
这是我自己摸索出来的一种方法,通过对数组的多次逆置来达到循环的效果,一共对数组进行了三次逆置,所以就需要构造一个函数,
这个函数既可以逆置一个数组,也可以逆置数组的部分区间。
1,先将整个数组[0,N)逆置一遍;
2,将数组的前部分区间[0,M)进行逆置;
3,将数组的后部分区间[M,N)进行逆置;
假设N=2,M=2,具体数组为nums[6]={1,2,3,4,5,6};则逆置过程如下图所示:
代码如下:
#includevoidprintArray(intnums[],intlen); voidreverseArrayPro(intnums[],intbegin,intend); intmain() { intlen,move; inti=0; scanf("%d%d",&len,&move); intnums[len]; for(i=0;i
方法二:
这是我在网上看的一种方法,这种方法跟我的方法比我的方法简单许多,实际上它没有移动数组中的元素,而只是简单地改变了一下数组中元素的遍历
顺序,先遍历出数组中N-M~N-1号元素,再遍历出0~N-M-1号元素。
代码如下:
#includeintmain() { intlen,move; inti=0; scanf("%d%d",&len,&move); intnums[len]; for(i=0;i 总结
到此这篇关于C语言数组元素循环右移问题及解决方法的文章就介绍到这了,更多相关C语言数组元素循环右移问题内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。