数组左边奇数右边偶数算法O(n)

#include<stdio.h>
#include <iostream>
#include <algorithm>
#include<time.h>
#include<stdlib.h>
#define SIZE 10
using namespace std;
void adjust(int array[],int n);	//调整数组元素的函数声明
void main()
{
	int array[SIZE],i;
	srand(time(NULL));		//获取随机种子
	for(i=0;i<SIZE;i++)		//为数组元素赋值,以生成数组
	{
		array[i]=rand()%100+1;
	}
	printf("Before adjust array,the array's elements are:\n");
	for(i=0;i<SIZE;i++)
	{
		printf("%d	",array[i]);
	}
	printf("\n");
	adjust(array,SIZE);	//调用调整数组元素的函数
	printf("After adjust array,the array's elements are:\n");
	for(i=0;i<SIZE;i++)
	{
		printf("%d	",array[i]);
	}
	printf("\n");
}
void adjust(int array[],int n)		//调整数组元素的函数的定义
{
	int i=0,j=n-1,temp;
	while(i<j)
	{
		if(array[i]%2!=0)i++;
		if(array[j]%2==0)j--;
		if(i<j)		
			swap(array[i],array[j]);
	}
}
posted @ 2019-09-12 10:48  如梦山河乀  阅读(349)  评论(0编辑  收藏  举报