学习笔记—冒泡排序算法
冒泡排序法过程:假设有N个数存储在数组a中进行升序排序,排序步骤:第一步,第一个数与第二个数比较,若第一个数比第二个数大,则交换,若不,则第二个数与第三个数比较,同理,前者大则交换,不大,则向后比较直到将最大数放到最后一位。第二步,同理,将前N-1个数依次两两比较,大则交换,直到将前N-1中最大数放到后数第二位。第三步,取前N-3个数中最大放到倒数第三位,依次到第N-1步。
代码:for(int i=0;i<N-1;i++){
for(int j=0;j<N-i-1;j++){
if(a[j]>a[j+1]){
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
冒泡排序法的时间复杂度比较高,是待比较熟数目的平方。但其空间复杂度较低,常数阶。冒泡排序法是排序算法中时间复杂度最高的。
冒泡排序法过程:假设有N个数存储在数组a中进行升序排序,排序步骤:第一步,第一个数与第二个数比较,若第一个数比第二个数大,则交换,若不,则第二个数与第三个数比较,同理,前者大则交换,不大,则向后比较直到将最大数放到最后一位。第二步,同理,将前N-1个数依次两两比较,大则交换,直到将前N-1中最大数放到后数第二位。第三步,取前N-3个数中最大放到倒数第三位,依次到第N-1步。
代码:for(int i=0;i<N-1;i++){
for(int j=0;j<N-i-1;j++){
if(a[j]>a[j+1]){
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
冒泡排序法的时间复杂度比较高,是待比较熟数目的平方。但其空间复杂度较低,常数阶。冒泡排序法是排序算法中时间复杂度最高的。