问个关于双向起泡排序的问题

flylfly

2009-11-01 22:45:12 来自: flylfly(认真生活,认真去爱~~)

//双向起泡排序.h
void dbubblesort(sequenlist r[],int n)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
{
if(r[j]>r[j+1])
{
int temp=r[j];
r[j]=r[j+1];
r[j+1]=temp;
}
}
for(int k=j;k>=1;k--)
{
if(r[k]<r[k-1])
{
int temp=r[j];
r[j]=r[j+1];
r[j+1]=temp;
}
}
}
不知道这个算法错在哪里,,,请教各位高手了

  • 鱿鱼

    2009-11-02 11:45:32 鱿鱼 (地上走的)

    首先是j应该从0开始到n-i-1,然后就是双向冒泡的话只要到中点就可以停止了。可以看看这个:http://blog.csdn.net/xxyakoo/archive/2008/11/06/3241454.aspx
    我自己也没写过,一起学习了!

  • flylfly

    2009-11-02 22:55:23 flylfly (认真生活,认真去爱~~)

    恩,,我觉得这个理论上应该没错,,估计是语法哪里有问题了


这个小组的成员也喜欢去   · · · · · · 

离散数学
离散数学 (1349)
计算机科学 Computer Science
计算机科学 Computer Scie... (2045)
C语言
C语言 (2773)
程序员书屋
程序员书屋 (1912)
计算机算法艺术
计算机算法艺术 (159)
C++及编程
C++及编程 (4483)