求编写双向起泡排序

来源:百度知道 编辑:UC知道 时间:2024/06/05 18:28:01
数据结构实验用C语言或C++都行,但是要数据结构的那种 要全部代码 谢谢

这里有,都是完整的程序,还有注释。
http://zhidao.baidu.com/question/56770232.html
http://programmingart.blog.51cto.com/213782/71867

#include <stdio.h>
#define SWAP(a,b) {int tmp=a;a=b;b=tmp;}
void busort(int* A,int n)
{
int i,j,k;
for(i=0;i<=n/2;i++)
{
for(j=i,k=n-i-1;j<n-1&&k>0;j++,k--)
{
if(A[j]>A[j+1])
SWAP(A[j],A[j+1]);//正方向
if(A[k]<A[k-1])
SWAP(A[k],A[k-1]);//反方向
}
}

}
main()
{
int A[10]={1,3,2,4,5,8,7,6,9,10};
busort(A,10);
for(int i=0;i<10;i++)
printf("%d ",A[i]);
}