调整数组顺序使奇数位于偶数前面
第一种:
成都创新互联于2013年开始,先为象山等服务建站,象山等地企业,进行企业商务咨询服务。为象山企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
开辟一个一样大小的数组,遍历原数组的数据,把原数组奇数依次存放在新数组的前面,偶数存放在后面。
时间复杂度:O(n^2);
空间复杂度:O(n)
缺陷:效率太差
#include#include void Adjust(int* src,int* des,int n) { int index=0; for(int j=0;j 结果:
第二种:
利用两个指针,一个指向数组开始,一个指向数组末尾,指向数组开始的那个指针依次向后遍历,找到偶数立即停下来,指向数组末尾的那个指针向前遍历,找到奇数停下来,判断start<=end,,交换两个值。
#include#include bool Check(int num) { return num%2; } void swap(int* a,int *b) { int tmp=*a; *a=*b; *b=tmp; } void Adjust(int* a,int n) { int start=0; int end=n-1; while(start<=end) { while(Check(a[start])&&start<=end) { start++; } while(!(Check(a[end]))&&start<=end) { end--; } if(start 结果:
网站标题:调整数组顺序使奇数位于偶数前面
文章分享:http://scyanting.com/article/psjsco.html