将数组元素左边部分全是奇数,右边全是偶数 时间复杂度为O(n)
2014-08-22 19:03
225 查看
#include <stdio.h> #include <stdlib.h> //将数组元素左边部分全是奇数,右边全是偶数 时间复杂度为O(n) int main() { int ary[11]={1,2,3,4,5,6,7,8,9,10,11}; int i=0,j=10; int temp; while(i<j) { while(ary[i]%2!=0) i++; while(ary[j]%2==0) j--; if(i<j) { temp=ary[i]; ary[i]=ary[j]; ary[j]=temp; } } for(i=0;i<11;i++) printf("%d ",ary[i]); }
相关文章推荐
- 设计算法将线性表中的元素分为两部分,要求左边都是奇数,右边都是偶数,时间复杂度O(n),空间复杂度O(1)
- 已知一个整数数组A[n],写出算法实现将奇数元素放在数组的左边,将偶数放在数组的右边。要求时间复杂度为O(n)。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。要求:空间复杂度O(1),时间复杂度为O(n)
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。
- 4.给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 如何重新排列数组使得数组左边为奇数,右边为偶数,并使得空间复杂度为O(1),时间复杂度为O(n)
- 百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 将整型数组划分为左右两部分,使左边全为奇数,右边全为偶数.
- 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所 有偶数位于数组的后半部分。要求时间复杂度为O(n)。
- 实现一个数组中奇数和偶数分开,奇数在前部分,偶数在后部分 时间复杂度为O(n),空间复杂度为O(1)
- 仅用O(1)的空间,将整数数组按奇偶数分成2部分,数组左边是奇数、右边是偶数
- 算法设计:将一个数组分为奇数、偶数左右两个部分,要求时间复杂度为O(n)
- 利用顺序表调整其为左右两部分,左边的为奇数,右边的为偶数
- 冒泡排序的方式实现一组数据偶数放在左边奇数放在右边
- 重新排列数组使得数组左边为奇数,右边为偶数--方法三
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 重新排列数组,使得数组左边的数字为奇数,数组右边的数字为偶数
- 160 重新排列数组使得数组左边为奇数,右边为偶数
- 【每天一道算法题】给定一个存放整数的数组,要求数组左边为奇数,右边为偶数
- 题目:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。