文章目录
算法——冒泡排序
博主是一个大一刚刚放暑假的大学生,大学我们只学习了c语言,现在这么卷只学c语言肯定不够,所以博主打算从零开始恶补c++顺便写文章记录一下,另外博主这个暑假还想记录一些算法基础内容欢迎关注哦。这些是是一些算法的记录和整理总结笔记要是什么时候忘记了这个算法那个算法怎么做就重新来看看,在csdn上面发是为了利用网址来编写思维导图的话比较方便~~~如果大家想跟着我一起学习也可以关注我~或者给这个文章点赞~~~谢谢大家了~
代码:
#include<iostream>
void Bubbling_sorting(int *a,int n)
{
int i,j;
for (i = 0;i < n-1; i++ )
{
for(j = 0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
int t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
}
}
using namespace std;
int main()
{
int n;
cin>>n;
int a[n];
for (int i = 0;i < n;i++ )
cin>>a[i];
Bubbling_sorting(a,n);
for (int i = 0;i < n;i++ )
cout<<a[i]<<' ';
return 0;
}
时间复杂度分析:
外层for循环表示通过n-1次
内层for循环表示遍历(n-1)!次
所以复杂度为O(n2)
空间复杂度分析
没有额外申请数组等只使用了一个t来进行交换
所以复杂度为O(1)