算法1.3 冒泡排序
#include <stdio.h>
int BubbleSort(int A[], int n)
{
// 输入:数组A,元素数目n
// 输出:数组A中元素完成从小到大排序
int i, j, x;
for (i = 0; i < n - 1; i++)
//
for (j = 0; j < n - i - 1; j++)
if (A[j] > A[j + 1])
{
x = A[j];
A[j] = A[j + 1];
A[j + 1] = x;
// 互换A[j]和A[j+1]的值
}
return 1;
}
int main()
{
int a[10] = {3, 5, 6, 2, 1, 4, 0, 7, 9, 8};
BubbleSort(a, 10);
for (int i = 0; i < 10; i++)
{
printf("%d", a[i]);
}
}
latex代码
\sum \limits_{i=0}^{n-2}(n-i-1)=(n-1)+(n-2)+\cdots+=\frac{n(n-1)}{2}=\frac{1}{2}n^2-\frac{1}{2}n
博客园后台前后要加上$
$\sum \limits_{i=0}^{n-2}(n-i-1)=(n-1)+(n-2)+\cdots+=\frac{n(n-1)}{2}=\frac{1}{2}n^2-\frac{1}{2}n$
n 个数基本语句执行次数为:
\(\sum \limits_{i=0}^{n-2}(n-i-1)=(n-1)+(n-2)+\cdots+=\frac{n(n-1)}{2}=\frac{1}{2}n^2-\frac{1}{2}n\)
时间复杂度是 \(O(n^2)\) - 平方时间复杂度 - 简单排序算法(选择排序、插入排序、冒泡排序)