调整数组顺序使奇数位于偶数前面-创新互联

第一种:

创新互联建站专注于企业全网营销推广、网站重做改版、隆尧网站定制设计、自适应品牌网站建设、H5场景定制商城系统网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为隆尧等各大城市提供网站开发制作服务。

开辟一个一样大小的数组,遍历原数组的数据,把原数组奇数依次存放在新数组的前面,偶数存放在后面。

时间复杂度: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

结果:

调整数组顺序使奇数位于偶数前面

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:调整数组顺序使奇数位于偶数前面-创新互联
链接地址:http://myzitong.com/article/dosjoi.html