数据结构——C语⾔实现冒泡排序算法
C语⾔实现冒泡排序算法
1.基本思想:
从⼩到⼤的冒泡排序是每次从头开始,两两⽐较,将较⼤的数放在两个数中的后⾯⼀位,循环此过程,将最⼤的数放在最后的位置;接着再从头开始两两⽐较,到第⼆⼤的数;如果有n个数,则循环n次便能将⽆序的记录变成有序的记录。
这个过程存在两层循环,其⼀,两两⽐较的循环;其⼆是“是第⼏趟的循环”。
2.C语⾔算法实现:
#include<stdio.h>
int r[6]={6,3,7,2,5,4};
void BubbleSort(int length)
{
c语言的冒泡排序算法int i,j,temp;
for(j=5;j>=0;j--)//是第j趟循环
for(i=0;i<j;i++)//在第j趟循环中将每两个数进⾏⽐较
{
if(r[i]>r[i+1])//由⼩到⼤排序
{
temp=r[i];//将较⼤的数放在后⾯
r[i]=r[i+1];
r[i+1]=temp;
}
}
}
int main()
{
int i;
BubbleSort(6);
for(i=0;i<6;i++)
printf("%d",r[i]);
}
3.算法分析:
稳定。
最好情况:待排序列是有⼩到⼤的顺序;最差情况:逆序。
时间复杂度:O(n²);空间复杂度:O(1)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论