您的位置:首页 > 编程语言 > C语言/C++

[置顶] 【C语言】 冒泡排序子例

2016-05-26 12:25 260 查看
调整数组使奇数全部都位于偶数前面
实现以下功能:
输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分

代码实现:

#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吕小布” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: