时间复杂度 面试题

1、转载---收集的

一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的
相对顺序
比如:
input:
1,7,-5,9,-12,15
ans: -5,-12,1,7,9,15
要求时间复杂度O(N),空间O(1)

#时间复杂度O(N^2),空间复杂度O(1)

#include<stdio.h>
#define n 6
main()
{
int a[]={1,7,-5,9,-12,15};
int i,j,temp;
for(i=1;i<n;i++)
{
if(a[i]<0)
{
temp=a[i];
j=i-1;
while((j>=0)&&a[j]>0)
{
a[j+1]=a[j];
j--;
}
a[j+1]=temp;
}
}
for(i=0;i<n;i++)
printf("%5d",a[i]);
}

 

 

2、

有N个大小不等的自然数(1--N),请将它们由小到大排序。要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。

http://yangyou230.iteye.com/blog/1307910

 

3、算法面试题

http://www.cnblogs.com/zhenjing/archive/2010/10/18/1854020.html

posted on 2014-09-06 20:58  小西红柿  阅读(120)  评论(0)    收藏  举报

导航