#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
int main()
{
int arr[100];
int k,m=0;
for(k=0;;k++)
{
cin>>arr[k];
m++;
if(getchar()=='\n') break;
}
int i=0,j=m-1;
int tmp=arr[0];
while(i<j){
while((i<j)&&arr[j]%2==0){
j--;
}
arr[i] = arr[j];
while((i<j)&&arr[i]%2!=0){
i++;
}
arr[j] = arr[i];
}
arr[i] = tmp;
for(i=0;i<m;i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
return 0;
}
设计算法将线性表中的元素分为两部分,要求左边都是奇数,右边都是偶数,时间复杂度O(n),空间复杂度O(1)
最新推荐文章于 2021-11-22 15:37:19 发布