设计算法将线性表中的元素分为两部分,要求左边都是奇数,右边都是偶数,时间复杂度O(n),空间复杂度O(1)

来源:互联网 发布:查看足球球员数据 编辑:程序博客网 时间:2024/05/15 20:00
#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;}

阅读全文
0 0
原创粉丝点击