交换排序:根据序列中2个关键字的比较结果来对换这两个记录在序列中的位置。
基于交换的排序算法:冒泡排序和快速排序
冒泡排序:
假设n个待排序的记录,从后往前或从前往后两两比较相邻元素的值,若为逆序((s[j]<s[j-1])),则交换两元素,直到序列比较完,称这个为一趟冒泡,结果将n个记录里最小的元素交换到待排序序列的第一个位置。下一趟冒泡时,前一趟确定的最小元素不再参与比较,待排序列减少一个元素,每趟冒泡的结果把序列里的最小元素放到了序列的最终位置,。。。,这样最多进行n-1趟冒泡就能把所有的元素排好。
public class BubbleSort {
public static void main(String[] args) {int [] s={1,5,7,11,2,4,8,33,6,0};
int num=10;
int i,j,temp;
for(i=0;i<num-1;i++){
for(j=num-1;j>i;j--){
if (s[j]<s[j-1]){
temp=s[j-1];
s[j-1]=s[j];
s[j]=temp;
}
}
}
for(i=0;i<=num-1;i++)
System.out.println(s[i]);
}
}
输出:
0
1
2
4
5
6
7
8
11
33