merge空间复杂度O(1)
来源:互联网 发布:网龙网络2018校招 编辑:程序博客网 时间:2024/05/16 05:03
//
//问题:
//数组al[0,mid-1] 和 al[mid,num-1],都分别有序。将其merge成有序数组al[0,num-1],要求空间复杂度O(1)
//
//
//问题:
//数组al[0,mid-1] 和 al[mid,num-1],都分别有序。将其merge成有序数组al[0,num-1],要求空间复杂度O(1)
//
//
#include<iostream>using std::cout;using std::cin;using std::endl;void swap(int &a,int &b){int t=a;a=b;b=t;}void merge(int a[],int m,int n){int i = 0, j = m+1; int k = 0; while (a[k] <= a[j]) k++; swap(a[k], a[j]); i = j;j=j+1; for (k = k+1; k <n; ++k) { if (a[i] <= a[j]) { swap(a[k], a[i]); if(i==j-1){if(k<=m)i=m+1;elsei=k+1;}elsei++; } else { swap(a[k], a[j]); if(k==i)i=j; j = j + 1; } } }int a[]={3,6,9,10,1,4,7,8,11};void main() { int m=3;int n=9;merge(a,m,n);for( int k=0;k<n;k++)cout<<a[k]<<" ";cout<<endl;system("pause");}
你觉得这个代码有问题吗?
- merge空间复杂度O(1)
- 空间复杂度O(1)的merge
- 时间复杂度O(n),空间复杂度O(1)的排序
- 时间复杂度为O(n),空间复杂度为O(1)
- O(N)时间复杂度、O(1)空间复杂度 构造数组
- O(1)空间复杂度的归并排序
- O(1)空间复杂度的归并排序
- 单链表反转,要求空间复杂度O(1)
- 一个时间复杂度为O(n),空间复杂度为O(1)的排序算法
- 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 数组奇偶分离算法,时间复杂度O(n),空间复杂度O(1)。
- 【100题】第四十九题 排序,要求时间复杂度O(n),空间复杂度O(1)
- 排序的时间复杂度为O(n),空间复杂度为O(1)
- 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 时间复杂度为O(N),空间复杂度为O(1)的排序算法
- 青蛙跳台阶解法 时间复杂度O(n) 空间复杂度O(1)
- A接口信令协议
- 心灵鸡汤【3】
- 多线程2:Java原子变量(java.util.concurrent.atomic.*)
- mysql 允许 root 远程访问
- M2M: Machine to Machine,机器对机器通信
- merge空间复杂度O(1)
- HEX文件和BIN文件格式的区别
- 单元测试时如何设定私有变量、调用私有成员函数
- vc++对话框的背景设置
- 一般人我不告诉他--交换友情链接的小技巧
- GetMemory()函数
- oracle安装问题
- 会计科目相关函数
- HTML5 开发的塔防游戏。