重新排列数组,使得数组左边的数字为奇数,数组右边的数字为偶数
2015-03-16 15:17
309 查看
源程序:
输出结果:
#include<iostream> using namespace std; void Swap(int &a,int &b) { int temp; temp=a; a=b; b=temp; } void Change(int *a,int n) { int nl=0; int nr=n-1; while(nl<nr) { while(nl<nr&&a[nl]%2==1) nl++; while(nl<nr&&a[nr]%2==0) nr--; Swap(a[nl],a[nr]); } } void Show(int *a,int n) { for(int i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl; } int main() { int a[]={1,2,3,4,5,6,7,8,9}; int length_a=sizeof(a)/sizeof(a[0]); cout<<"交换前:"; Show(a,length_a); Change(a,length_a); cout<<"交换后:"; Show(a,length_a); cout<<endl; system("pause"); return 0; }
输出结果:
相关文章推荐
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。要求:空间复杂度O(1),时间复杂度为O(n)
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 编程: 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 160 重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 重新排列数组使得数组左边为奇数,右边为偶数--方法三
- 题目:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 4.给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数---百度笔试题
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 重新排列数组使得左边为奇数,右边为偶数
- 百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 程序员面试题目总结--数组(四)【数列中符合条件数对的个数、数组是否存在重复元素、重新排列数组使数组左边为奇数,右边为偶数、数组中的第二大数、数组中的最小值和最大值】