数组中移动0至后面
来源:互联网 发布:决战武林坐骑8升9数据 编辑:程序博客网 时间:2024/06/05 22:57
int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),
使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路)
#include<iostream>using namespace std;int fn(int *a, int size){ int *p; int i; int n; int returnval = size; p = a; n = 0; for(i=0;i<size;i++) { if(*(p+i)==0) { if(returnval==size) returnval = i; n++; continue; } if(n!=0&&*(p+i)!=0) { *(p+i-n) = *(p+i); *(p+i) = 0; } } return returnval;}int main(){ int a[100]; int i; int size; int zero; while(cin>>size) { for(i=0;i<size;i++) cin>>a[i]; zero = fn(a,size); for(i=0;i<size;i++) cout<<a[i]<<" "; cout<<zero<<endl; } return 0;}
0 0
- 数组中移动0至后面
- 将数组中指定数量的元素移动数组后面
- php中格式化数组中的数值小数点后面加两个0的做法
- VS2010 CString转字符数组时,数组中每个字符后面都会多出一个\0 解决办法
- 删除数组中元素,并将后面的向前移
- 将一个数组的非零元素移动到数组的前面,零元素置于数组的后面
- 将数组的后面m个数移动为前面m个数
- 将数组的后面m个数移动为前面m个数
- 将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面
- 将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面
- 移动数组中的0
- sql 中去掉小数后面的0
- leetcode283---Move Zeroes(把0移到数组后面)
- 将字符数组s2中全部字符复制到字符数组s1,不用strcpy(复制时‘\0’也要复制过去‘\0’后面的字符不用复制)
- 程序员面试题目总结--数组(五)【数组的后面m个数移动为前面m个数、列的前n项数据、判断整数x是否可以表示成n个连续正整数的和、数组中出现奇数次的元素、二维数组中的查找】
- 小算法--数组中元素的移动
- 移动数组中的‘0’到数组末尾
- mysql 中decimal中去掉后面多余的0
- xp解决设置guest帐户不能访问共享,反之则禁止
- 大数据时代,UEFI下安装系统
- Oracle逻辑读详解
- C#日期函数的使用
- Java轻量级锁原理详解(Lightweight Locking)
- 数组中移动0至后面
- 2011年linux数据库的android在线分享
- Matthew Mcconaughey 's Speech in Oscar for the Award of Actor in a Leading Role
- MongoDB最佳实践畅谈-计费系统
- 实现无密码登录Win8系统的方法
- [LeetCode]Next Permutation
- Android中LayoutInflater的使用
- java经典面试题
- svn 175002 unexpected HTTP status 501