每日三题数据结构/算法练习,题目来自皮皮灰公众号
数据结构篇
//设一个长度为n的数组,由负数、0、正数组成。编写函数,将其重新排序为前段都是负数,后端均为非负数的结构,要求时间复杂度为O(n)。
#include"stdio.h"
int main()
{
int a[10]={1,-4,5,2,-6,-1,8,9,20,0};
int b[10];
int i,j,q;
for(i=0,j=0,q=0;i<10;i++)
if(a[i]<0)
{b[j]=a[i];
j++;
}
else
{b[9-q]=a[i];
q++;
};
for(i=0;i<10;i++)
printf("%d ",b[i]);
return 0;
}