交换排序:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。
比较的规则:就是把一个数字,依次的往后比较,遇到比它小的就进行交换。这是第一趟比较,所以第一趟比较完了之后,最小的就在第一个,其他几次比较都类似。
例如:
#include<stdio.h>
void swap(int &a,int &b)
{
int c = a;
a = b;
b = c;
}
void Change_Sort(int arr[],int len)
{
for(int i = 0; i < len - 1; i++)
{
for(int j = i+1; j < len; j++)
{
if(arr[j] < arr[i])
{
swap(arr[j],arr[i]);
}
}
}
}
int main()
{
int arr[]={1,4,3,2};
int len=sizeof(arr)/sizeof(arr[0]);
Change_Sort(arr,len);
for(int i=0;i<len;i++)
{
printf("%d ",arr[i]);
}
}