22智能在线
新记
设一系列正整数存放在一个数组中,试设计算法,将所有奇数存放在数组
设一系列正整数存放在一个数组中,试设计算法,将所有奇数存放在数组的前半部分,将所有的偶数存放在数组的后半部分。要求尽可能的少用临时单元并使用时间少。(利用C语言)请附带上注解!谢谢!
举报该文章
相关建议 2016-12-18
void sort(int A[],int n){
int low=0,high=n-1;
int temp=A[low];
while(low<high){
while(low<high && A[high]%2==0)
high--;
A[low]=A[high];
while(low<high && A[low]%2==1)
low++;
A[high]=A[low];
}
A[high]=temp;
}
空间复杂度为O(1)
时间复杂度为O(n)
温馨提示:内容为网友见解,仅供参考
当前网址:
https://22.t2y.org/zz/22xhsifc0t0sthc66f.html
其他看法
第1个回答 2016-07-26
#include"stdio.h"main(){inta[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};intb[20],c[20],i,j=0,k=0,t;for(i=0;i<20;i++){if(a[i]%2==0){b[j]=a[i];j++;}else{c[k]=a[i];k++;}}printf("Arraybis:\n");for(t=0;t
相似回答
大家正在搜
相关问题
设一系列正整数存放在一个数组中,试设计算法,将所有奇数存放在...
设计将所有奇数移到所有偶数之前的算法
用一维数组保存输入的N个整数,再将这N个整数逆序存放在该数组...
设任意n个整数存放于数组A(1:n)中,试编写算法,将所有正...
有长度为n的一维数组A,将数组中负数存放在数组前部,所有正数...
设计一个算法,将数组A[n]中所有整数原地逆置,即利用原数组...
设一个数组中存放有n个自然数,现设计一个算法将所有的偶数均放...
编写程序把长度为10的数组中所有的奇数和偶数分别存放在另外两...