#include<stdio.h>
//冒泡排序 先找出最后一个,再找出倒数第二个,直到最后找到第一个,完毕
int main()
{
int nums[20]={10,18,2,64,49,12,35,76,18,15,19,49,34,33,38,17,18,66,22,27};
int temp=0;
for(int i=0;i<19;i++)
{
for(int j=0;j<19-i;j++) //每次循环i时需要将j重置,然后依次遍历j,将相邻的元素进行比较,如果前面的元素大于后面的元素,则交换两个元素的位置,直到确定最后一个元素的位置。
{
if(nums[j]>nums[j+1])
{
temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
for(int t=0;t<20;t++)
printf("%d ",nums[t]);
}
时间复杂度为O(n^2);
空间复杂度为O(1);
原理: