排序原理:
我们假设有5个数
21 84 39 20 89
我们要按照从小到大进行排序
那么也就是数字越小越往后面 这句话是关键
21比84小那么往后移
84 21 39 20 89
21比39小 往后
84 39 21 20 89
21比20大 不动
20比89小 往后移
84 39 21 89 29
此时我们已近确保了最后一个数是最小的
在第二轮同理 倒数第二个数是第二小的 以此类推 实现排序
算法代码如下
#include<stdio.h> int main() { int a[100],i,j,t,n; scanf("%d",&n);//有n个数 for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=n-1;i++) //冒泡排序核心算法 for(j=1;j<=n-i;j++) if(a[j]<a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(i=1;i<=n;i++) //输出结果 printf("%d ",a[i]); }
源码地址
时间复杂度O(N^2)