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

原创 2018年04月15日 21:58:39
#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

数组

-
  • 1970年01月01日 08:00

将数组中元素排列为奇数在前偶数在后

处理策略是定义两个指针pHead,pTail并令其初始指向数组头节点和尾节点。pHead从前往后找应该放在尾部的偶数节点,pTail从后往前找应该放在头部的奇数节点,若pHead位于pTail之前则交...
  • u010033948
  • u010033948
  • 2016-03-31 11:58:40
  • 2038

数组排序,奇数在前,偶数在后

一个无序整数数组,对它排序,使其前半部分都为奇数有序,后半部分为偶数有序。 基本想法:利用插入排序算法,对奇偶子序列分别插入排序。用两个变量把整个数组分割为三个部分,第一个部分为奇数有序子序列,第二部...
  • John_Lan_2008
  • John_Lan_2008
  • 2017-04-14 10:59:52
  • 1088

剑指offer-----使数组中所有奇数在前,所有偶数在后,并保持相对位置不变

题目:输入一个整数数组,实现一个函数调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数的相对位置不变。 思路:这个题的解法有好多种,...
  • qingcunsuiyue
  • qingcunsuiyue
  • 2016-11-18 14:58:23
  • 1115

调整数组顺序,使得奇数在前偶数在后,分别保证奇数和偶数之间的相对位置不变

题目:输入一个整形数组,将数组重新排序,使得所有奇数在前偶数在后,并使奇数之间和偶数之间的相对位置爆出不变。 思想:从数组开头开始遍历所有数组。当碰到偶数时,将偶数打包,即记录到目前为止偶数的个...
  • lingfeng2019
  • lingfeng2019
  • 2017-03-29 09:58:11
  • 786

奇数在前 偶数在后,相对顺序保持不变

本质上是排序,由于要求相对顺序不变,故采用一种稳定的排序算法,归并排序 #include #include #include #include #include #include #include...
  • Appiloveyou
  • Appiloveyou
  • 2015-09-06 15:58:22
  • 645

C语言小练习 1

输入10个整数,将这10个整数按升序排列输出,并且奇数在前,偶数在后。比如,如果输入的10个数是1 2 3 4 5 6 7 8 9 10,则输出1 3 5 7 9 2 4 6 8 10。...
  • xiaomingxiansen
  • xiaomingxiansen
  • 2017-04-21 17:12:35
  • 917

百度笔试题:负数在前 正数在后(奇数在前,偶数在后)

百度面试题(一):假设一整型数组存在若干正数和负数,现在通过某种算法使得该数组的所有负数在正数的左边,且保证负数和正数间元素相对位置不变。时空复杂度要求分别为:o(n)和o(1)。 百度面试...
  • kennyrose
  • kennyrose
  • 2012-05-15 11:15:21
  • 4623

奇数在前偶数在后

题目描述:输入一个整数数组,调整数组的顺序,使得奇数在前,偶数在后  思路分析:可按照快排的思想进行分析,如下: 代码如下: #include using namespace std; ...
  • cfy1024
  • cfy1024
  • 2017-08-24 22:39:20
  • 153

对一个整型数组做奇数在前偶数在后的顺序调整

给你一个整型数组,做顺序调整,要求: 1,奇数在前、偶数在后 2,效率高、节省内存拿到这个题目的时候我首先想到的方法是: 1,对原数组做二等分,分别放入两个数组a,b 2,循环a,b,把a的偶...
  • yanling_xu
  • yanling_xu
  • 2015-11-07 23:02:09
  • 243
收藏助手
不良信息举报
您举报文章:用冒泡法将一组数组奇数在前,偶数在后排列
举报原因:
原因补充:

(最多只允许输入30个字)