将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面
2013-12-12 17:05
274 查看
#include <stdio.h>
int main(){
void func2(int array[],int n);
int a[8]={10,-5,-6,9,8,0,6,-9};
int i = 0;
func2(a,8);
for(i=0;i<8;i++){
printf("%d\n",a[i]);
}
return 0;
}
//将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面
void func1(int array[],int n){
int i,j=0;//j用于标记首个大于0的元素
int temp;
for(i=0;i<n;i++){
if(array[i]<=0){
temp=array[i];
array[i]=array[j];
array[j]=temp;
j++;
}
}
}
//将数组中所有小于或等于0的元素都放在数组后面,大于0的元素放在数组前面
void func2(int array[],int n){
int i =0,j=0;//j用于标记首个小于或等于0的元素
int temp=0;
for(i=0;i<n;i++){
if(array[i]>0){
temp=array[i];
array[i]=array[j];
array[j]=temp;
j++;
}
}
}
int main(){
void func2(int array[],int n);
int a[8]={10,-5,-6,9,8,0,6,-9};
int i = 0;
func2(a,8);
for(i=0;i<8;i++){
printf("%d\n",a[i]);
}
return 0;
}
//将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面
void func1(int array[],int n){
int i,j=0;//j用于标记首个大于0的元素
int temp;
for(i=0;i<n;i++){
if(array[i]<=0){
temp=array[i];
array[i]=array[j];
array[j]=temp;
j++;
}
}
}
//将数组中所有小于或等于0的元素都放在数组后面,大于0的元素放在数组前面
void func2(int array[],int n){
int i =0,j=0;//j用于标记首个小于或等于0的元素
int temp=0;
for(i=0;i<n;i++){
if(array[i]>0){
temp=array[i];
array[i]=array[j];
array[j]=temp;
j++;
}
}
}
相关文章推荐
- 将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面
- 将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面。要求时间复杂度为o(n)
- 第三周实践项目8 以第一个元素为分界线,将所有小于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。
- 微软等数据结构+算法面试100题(9)--在一个int 数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。
- 查找一个数,大于前面所有数,小于后面所有数
- 设计一个算法将一个线性表如何将大于0的数放在后面,小于0的放在前面。
- 在数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数
- 一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它
- 一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。
- 在一个int数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数
- 在一个数组中,找出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它
- 一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它
- 数组中大于等于左侧所有数,小于等于右侧所有数的数
- [素数]:编写函数,求出小于或等于lim的所有素数,并放在aa数组中,函数返回所求的素数个数。
- 借鉴快速排序的思想,实现算法将整型数组a[0...n]分成两块,使得第一块元素均大于等于0,第二块的元素均小于0,要求算法原地工作且时间复杂度为O(n)
- 算法题27 在一个int数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。
- 一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。
- [面试] 在数组查找这样的数,它大于等于左侧所有数,小于等于右侧所有数
- 一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。
- 这是一个我面试某公司的算法题目:对一个字符数组进行排序,根据给定的字符,大于它的,放在数组的左边,小于它的,放在数组的右边,且数组中的元素之间的相对位置要保持不变。