//对数组进行交换排序/*交换排序的过程为: (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;}

评论