| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1008 人关注过本帖
标题:问个问题..
取消只看楼主 加入收藏
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
 问题点数:0 回复次数:5 
问个问题..

一个for和两个for的排序..时间复杂度会一样?

先回答..然后我再给程序.大家看!

搜索更多相关主题的帖子: 时间 
2006-08-27 22:10
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
#include<stdio.h>
#define SIZE 10
void sort(int *a,int n)
{
for(int i=0,fi=0,se=n>3?n-1:n-2;i<n;i++)
{
if(i!=fi&&a[i]%2==0){int tem=a[se];a[se]=a[i],a[i]=tem,se--;}
if(i!=se&&a[i]%2==1){int tem=a[fi];a[fi]=a[i],a[i]=tem,fi++;}
}
}
int main()
{
int a[SIZE]={1,2,3,4,5,6,7,8,9,10};
sort(a,SIZE);
for(int i=0;i<SIZE;i++)
printf("%d ",a[i]);
}

[此贴子已经被作者于2006-8-28 7:11:34编辑过]


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-08-27 22:23
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
int sort(int a[],int len)
{
int i=0,j=len-1,temp;
for(;i<j;i++)
{
if(!(a[i]%2))
{
temp=a[i];
for(;j>0;j--)
if(a[j]%2) {a[i]=a[j],a[j]=temp,j--;break;}
}
}
}

这两个哪个时间复杂度大?

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-08-27 22:23
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
题目是 一个数组 把奇数排到前面.把偶数排到后面

然后输出!

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-08-27 22:25
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

赌博呢,他非说他两个for的时间复杂度和我一个for的时间复杂度是一样的

虽然怎么算时间复杂度我忘了很久了...不过....小神..你说说看!


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-08-27 22:51
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
[QUOTE]

而1个for的那个程序用了10次交换,其中有大量的无用操作,数字在数组中跳来跳去有什么用。

[/QUOTE]

恩..这个没错..我也想过不要这么交换的.用else.可是那个有BUG..太费脑子了就没想了...

不过..我的可读性嘛..哈哈..我还可以写的更差...我感觉这已经算是很好了.哈哈

郁闷了..还是想不通.为什么时间复杂度是一样的....

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-08-28 21:09
快速回复:问个问题..
数据加载中...
 
   



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

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