| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1102 人关注过本帖
标题:[求助]奇数与偶数???
只看楼主 加入收藏
子阳
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2007-3-5
收藏
 问题点数:0 回复次数:7 
[求助]奇数与偶数???
任意输入一组数,使奇数都放到偶数的前面???
搜索更多相关主题的帖子: 偶数 奇数 
2007-04-29 22:32
lizhijie
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-4-28
收藏
得分:0 

算法很简单啊,知道快速排序法吧,从前面开始找到第一个偶数,从后面开始找到第一个奇数,两数交换,直到碰头!
就这样。

2007-04-29 23:21
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 
其实也不必,只要找出其中的一种即可,可找偶或奇。找出后另一种就等于已经找出了。你也不要求排序,这种已经很简单了。

论坛是我家灌水靠大家
2007-04-29 23:28
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
用两个数组或许会更快

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-04-30 20:44
nanchangdaxu
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-4-30
收藏
得分:0 
从前面下手,是奇数的不动,是偶数的放到最后去,直到最后那个数处理过就可以了,很简单.

世上无难事,只要肯登攀!
2007-05-03 23:40
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
这个题算法有很多
看你自己喜欢用那种

   好好活着,因为我们会死很久!!!
2007-05-04 09:04
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用lizhijie在2007-4-29 23:21:35的发言:

算法很简单啊,知道快速排序法吧,从前面开始找到第一个偶数,从后面开始找到第一个奇数,两数交换,直到碰头!
就这样。

这个不是快速排序吧,不过有点它的思想.

头尾指针做交换直到交叉.
for(i=0,j=n-1;i<j;i++,j--)
{
while(a[i]%2==1)
{
i++;
}
while(a[j]%2==0)
{
j--;
}
if(i<j)
{
temp=a[i],a[i]=a[j],a[j]=temp;
}
}


倚天照海花无数,流水高山心自知。
2007-05-04 10:08
编程怪兽
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-4-28
收藏
得分:0 

跟冒泡排序思想差不多,就是将偶数都沉下去,将奇数浮上来。
用一个循环找到奇数位置不变,找到偶数就找距这个最近的下一个奇数
for(i=0;i<n;i++)
{
if (a[i]%2==0)
{
for(j=i+1;j<n;j++)
if(a[j]%2)==1
{
t=a[j];
a[j]=a[i];
a[i]=t;
}
}
if(j==n)break;//当j=n时说明已经将奇数都浮上来了
}


2007-05-06 11:29
快速回复:[求助]奇数与偶数???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015124 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved