用冒泡法将一组数组奇数在前,偶数在后排列

#include<iostream>
using namespace std;
class arr
{
int m;//存放元素个数
int a[100];//存放原始数组及结果数组
public:
arr(int x[], int size)//构造函数,初始化数组a
{
m = size;
for (int i = 0; i < m; i++)
a[i] = x[i];
}
void jishu();//奇数在前排列
void show()
{
for (int i = 0; i < m; i++)
{
cout << a[i] << "\t";
//cout << endl;
}
cout << endl;
}
};
void arr::jishu()
{
int t;
for (int j = 0; j < m; j++)
{
for (int i = 0; i < m-j; i++)
{
if ((a[i] % 2 == 0) && (a[i + 1] % 2 != 0))//第i个数为偶数,第i+1个数为奇数
{
t = a[i], a[i] = a[i + 1], a[i+1] = t; //置换
}

}

}
}


int main()
{
int b[16] = { 2,1,3,4,5,6,7,8,9,10,11,12,13,14,16,15 };
arr v(b, sizeof(b) / sizeof(b[0]));
v.jishu();
v.show();
return 0;

}

输出为1       3       5       7       9       11      13      15      2       4       6       8       10      12      14       16

阅读更多
个人分类: c++程序设计实践
上一篇输出杨辉三角
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭