冒泡排序(Bubble Sort): 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。是一种稳定和不需要额外空间的排序算法
算法原理
1. 比较相邻的元素,如果第一个比第二个大,就交换,最后一个就是最大的元素;
2. 对剩余的n-1个元素重复1的步骤,又把第二大冒的倒数第二的位置,以此类推。
算法分析
3. 时间复杂度
冒泡排序最好的时间复杂度为O(n);最差是O(n^2); 综上,因此冒泡排序总的平均时间复杂度为 O(n^2);
4. 算法稳定性
冒泡排序是一种稳定排序算法。
#include <stdio.h>
#include <stdlib.h>
void bubbleSort(int arr[],int n){
//冒泡排序
int i,j,temp;