将数组的后面m个数移动为前面m个数
2013-09-02 11:01
267 查看
#include<stdio.h> void func(int *start,int *end) { while(start<end) { int temp=*start; *start=*end; *end=temp; ++start; --end; } } void f(int len,int n,int *a) { func(a,a+n-1); func(a+n,a+len-1); func(a,a+len-1); } int main() { int a[]={1,2,3,4,5,6,7,8,9,10}; int len=sizeof(a)/sizeof(a[0]); int i; f(len,5,a); for(i=0;i<len;i++) printf("%d ",a[i]); return 0; }
相关文章推荐
- 程序员面试题目总结--数组(五)【数组的后面m个数移动为前面m个数、列的前n项数据、判断整数x是否可以表示成n个连续正整数的和、数组中出现奇数次的元素、二维数组中的查找】
- 如何将数组中的后面m个数移动为前面m个数
- 将数组的后面m个数移动为前面m个数
- 将一个数组的非零元素移动到数组的前面,零元素置于数组的后面
- 把数组中负数放在前面,0放中间,正数放后面,并保持相对顺序
- 将数组中指定数量的元素移动数组后面
- 数组进行奇数和偶数操作 把奇数放在数组前面 偶数放在数组后面
- 面试编程题---其中隐藏着若干0,其余非0整数,使A把0移至后面,非0整数移至数组前面并保持有序
- js 数组操作常用方法。 push():在数组后面加入元素,并返回数组的长度 unshif()t:在数组前面加入元素,并返回数组的长度 pop()删除最后一个元素
- 调整数组 使得数组中负数排在前面正数排在后面,并且正数和负数的相对位置不变 (递归思路)
- 将数组里的负数排在数组的前面,正数排在数组的后面。但不改变原先负数和正数的排列顺序。
- int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至 数组前面并保持有序,返回值为原数据中第一个
- int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序
- 将数组的前n位顺序移到数组后面,后面的移到前面,如1 2 3 4 5 6 7,若n=3;则变为4 5 6 7 1 2 3
- 算法题:将一个数组中所有奇数放前面和偶数放后面(不开辟新的内存空间)
- 把数组中的0移到数组前面,其它数字移到后面,并且保持数字间的相对顺序
- 给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标所指的数之差最大
- 一个整数数组,用后面的元素减去前面的元素,求最大值。
- 给定一系列x轴的点坐标,例如 1,3,7,8,9,11这些坐标升序放在数组中,现在给一根绳子,长度为4,问绳子最多能覆盖的点数有多少,例如绳子放前面只能覆盖两个点,1,3,如果放后面能覆盖4个点。
- 算法面试题,在数组中找出这样的数,它比它前面的数都大,比它后面的数都小