简介
冒泡排序用的方法是相邻比逆法,顾名思义,就是将相邻元素的逆序进行交换的一种方法。
步骤
1、把相邻元素之间进行比较,如果他们的顺序是逆序,则交换位置,这样就可以把最大或者最小的元素放置在最前或者是最后
2、重复比较,第一轮比较的元素是n个,每一轮比较的元素都减一,最后比较的元素只有两个,即进行n-1轮的比较。
代码实现
void BubbleSort(RecordType r[],int length){
//外面一层是比较的轮次
int chang = 1;
RecordType t;
for(int i = 1;i<=length-1&&change==1;i++){//这里的change是减小了时间复杂度,当发现元素间已经提前达到有序,则直接结束循环。
change= 0;
//里面一轮是相邻元素之间的交换
for(int j = i;j<=length-1;j++){
if(r[j]>r[j+1]){//我们在这里要实现的是递增排序
t = r[j];
r[j] = r[j+1];
r[j+1] = t;
change = 1;
}
}
}
}