交换排序:就是把一个数字,依次的往后比较,遇到比它小的就进行交换。这是第一趟比较,所以第一趟比较完了之后,最小的 就在第一个,其他几次比较都类似。
例如:
#include<stdio.h>
//交换排序,通比较,把最小的放在第一个位置上
void swap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}
void Exchange_Sort(int *arr,int len)
{
for(int i=0;i<len-1;i++)
{
for(int j=i+1;j<len;j++)//(j=i+1)是因为每排完一次,就会找出小的放在前面
//前面已经排好序了,不用再进行比较
{
if(arr[i]>arr[j])
{
swap(arr[i],arr[j]);
}
}
}
}
void main()
{
int arr[]={2,4,1,3,4};
int len=sizeof(arr)/sizeof(arr[0]);
Exchange_Sort(arr,len);
for(int i=0;i<len;i++)
{
cout<<arr[i]<<" ";
}
}