⑵ 已知数组A[n]中的元素为整型,设计算法将其调整为左右两部分,左边所有元素为奇数,右边所有元素为偶数,并要求算法的时间复杂度为O(n)。[解答]从数组的两端向中间比较,设置两个变量i和j,初始时i=0,j=n-1,若A[i]为偶数并且A[j]为奇数,则将A[i]与A[j]交换。具体算法如下:void Adjust(int A[]n)-...
问答题 【简答题】设计分治算法,实现将数组A[n]中所有元素循环左移k个位置, 要求时间复杂性为O(n),空间复杂性为O(1)。例如,对abcdefgh循环左移3位得到defghabc。答案: 点击查看答案 手机看题 你可能感兴趣的试题 问答题 【简答题】设计分治算法求一个数组中的最大元素,并分析时间性能 答案: 点击查看...
1 //实现将数组A[n]中所有元素循环右移k个位置。 2 void reverse(int a[],int from,int to){ //将数组a中元素从from到to逆置 3 int i,temp; 4 for(i=0;i<(to-from+1)/2;i++){ 5 temp=a[fro