关于双向冒泡法的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:21:37
//双向起泡排序.h
void dbubblesort(sequenlist r[],int n)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i+1;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;
}
}
}
这是冒泡法程序中的一个算法,,不知道错在哪里,,大家帮忙看下

void dbubblesort(int r[],int n)
{
int i,j,k,temp;
for(i=1;i<n;i++)
{
for(j=1;j<n-i+1;j++)
{
if(r[j]<r[j-1])
{
temp=r[j];
r[j]=r[j-1];
r[j-1]=temp;
}
}
for(k=j-1;k>=1;k--)
{
if(r[k]<r[k-1])
{
temp=r[k];
r[k]=r[k-1];
r[k-1]=temp;
}
}
}
}

注意数组越界问题。。