作者SmallTACO (*乖者违背常理也*)
站内NTUScout
标题Re: [问题] 排序法...
时间Thu Nov 1 12:16:59 2001
※ 引述《meows (琦)》之铭言:
: ※ 引述《SmallTACO (*乖者违背常理也*)》之铭言:
: : int rr;
: : for(i=1;i<320*320;i++)
: : {
: : j=i;
: : rr=numbers[i];
: : do
: : {
: : numbers[j]=numbers[j-1];
: : j=j-1;
: : if(j<0)
: : break;
: : }while(rr<=numbers[j-1]);
: : numbers[j+1]=rr;
: : }
: 条件式该放do後面吧
: 因为第一次的执行没有条件判断
: 必然是有问题的
嗯...
那是c++语法...
每本书都这样写...
应该没问题啦 ^^
我今天自己在纸上又run过了一遍...
发现自己犯了basic语法转换成c++语法的错误...
(因为手边没有c++的排序程式...
只好看以前basic的书自己转换过来...)
改成下面这样应该就没问题了...
回家试试看 ^^
int rr;
for(i=1;i<320*320;i++)
{
j=i;
rr=numbers[i];
do
{
numbers[j]=numbers[j-1];
j=j-1;
if(j==0)
break;
}while(rr<=numbers[j-1]);
numbers[j]=rr;
}
: 以前写过气泡排序
: 很久没碰了
: 如果需要我再把资料找给你
嗯...
气泡排序是我之前唯一不用看任何书两三下就能写出来的排序法...
高中学basic时不学无术,以为学会一种就够了 ><~
可是气泡排序的速度太慢了...
以我的例子而言总共有 102400 笔资料...
用气泡排序法大概要10分钟左右...
插入排序法时间大约小於气泡的一半...
而谢耳排序法1分钟之内就解得出来了...
另外还有两种排序法...
今天晚上要学下来 ^^
试试在纸上run一遍谢耳排序法吧!
看能不能找出错误 ^^
--
钱多事少离家近 位高权重责任轻
每日睡到自然醒 薪水领到手抽筋
逢年过节拿奖金 别人加班我加薪
秘书妖艳员工齐 有祸归人功归己
欧美亚非加南极 出差旅游任我行