408数据结构与算法—冒泡排序(十八)
Posted 王同学要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了408数据结构与算法—冒泡排序(十八)相关的知识,希望对你有一定的参考价值。
【408数据结构与算法】—冒泡排序(十八)
一、交换排序
交换排序思想:两两比较,如果发生逆序则交换,直到所有的记录都排好为止
常见的交换排序的方法:
- 冒泡排序O (n^2)
- 快速排序O(nlog2n)
二、冒泡排序
基本思想:每趟不断将记录两两比较,并按前小后大规则交换
冒泡排序的优点:每趟结束时,不仅能挤出一个最大值到最后面位置,还能同时部分理顺其他元素
如何提高效率?
一旦某一趟比较时不出现记录交换,说明已经排好序了,就可以结束本算法。
冒泡排序的算法
C语言实现
#include <stdio.h>
#include <stdlib.h>
int main()
int i ,j ,t;
int a[10];
printf("请输入要排序的数据:");
for( i = 0 ; i < 10 ; i ++ )
scanf(" %d " , & a[i]);
for( i = 0 ; i < 9 ; i++ )
for( j = 0 ; j < 9 - i ; j++ )
if( a[j] > a[j+1] )
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
printf("排序过后的结果为:");
for( i = 0 ; i < 10 ; i++ )
printf(" %d " ,a[i]);
return 0;
三、冒泡算法的改进
改进的冒泡排序算法
四、时间复杂度分析
五、冒泡排序的算法评价
📢📢总结
以上是关于408数据结构与算法—冒泡排序(十八)的主要内容,如果未能解决你的问题,请参考以下文章