排序算法——冒泡排序
冒泡排序是一种交换排序,每一趟排序过程中都不断的比较相邻两个元素的大小,如果满足条件(递增或者递减),则交换相邻两个元素的位置。
冒泡排序比较简单,就不必过多阐述,代码实现如下:
#include <stdlib.h> #include <stdio.h> void BubbleSort(int A[], int n) { int i, j, temp; for(i = 0; i < n-1; i++) // 进行n-1趟排序 { for(j = n-1; j > i; j--) // 从后向前不断比较相近元素的大小 { if(A[j] > A[j-1]) { temp = A[j]; // 交换相邻的元素 A[j] = A[j-1]; A[j-1] = temp; } } } }
冒泡排序的时间复杂度为O(n2),空间复杂度为O(1)。