调整数组使奇数全部都位于偶数前面
实现以下功能:
输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分
代码实现:
#include<stdio.h>
void swap(int *a,int *b)
{
int t = *a;
*a = *b;
*b = t;
}
int adjust_num(int arr[],int n)
{
int i,j;
for(i = 0;i < n-1;i++) //外层循环控制次数,冒泡排序有n个元素,循环进行(n-1)次
{
for(j = 0;j < n-i-1;j++) //内层循环控制下标,每进行一次循环,找出该元素对应的位置且不再变动
{
if(arr[j] % 2 == 0 && arr[j+1] %2 != 0)
{
swap(&arr[j],&arr[j+1]);
}
}
}
return arr;
}
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
int n = sizeof(arr)/sizeof(arr[0]);
int i = 0;
adjust_num(arr,n);
for(i = 0;i < n;i++)
printf("%d ",arr[i]);
printf("\n");
}
本文出自 “Vs吕小布” 博客,谢绝转载!