//对数组进行交换排序
/*
交换排序的过程为:
(1)先拿两张牌放到手中。如果左边的牌要排在右边的牌的后面,就交换这两张牌的位置。
(2)然后拿下一张牌,并比较最右边两张牌,如果有必要就交换这两张牌的位置。
(3)重复第(2)步,直到把所有的牌都拿到手中。
(4)如果不再需要交换手中任何两张牌的位置,就说明牌已经排好序了;
否则,把手中的牌放到桌上,重复(1)至(4)步,直到手中的牌排好序。
*/
#include <iostream.h>
int *ExchSort(int a[],int n)
{
int count=1;
while(count!=0)
{
count=0;
for(int i=0;i<n;i++)
{
int t;
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
count++;
}
}
if(count==0)
return a;
}
}
void main()
{
int a[]={10,9,8,7,6,5,4,3,2,1,0};
int n=11;
int *b;
b=new int(n);
b=ExchSort(a,n);
for(int i=0;i<n;i++)
cout<<*(b+i)<<endl;
}
正文
练习:交换排序2006-05-16 23:41:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/bclz/14225.html
阅读(2226) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论