冒泡排序的改进

常用的排序算法(一)

萝らか妹 提交于 2020-03-02 04:38:22
Date: 2016-02-14 #####排序算法的学习 #### 冒泡排序 时间复杂度:当顺序为正序的时候,为最好状态时间复杂度为O(N),平均时间复杂的为O(N^2) 因为没有创建新的存储结构所以空间复杂度为O(1) 冒泡排序是一种稳定的排序算法 #include <stdio.h> void Bubble_sort(int A[],int n); void Bubble_sort(int A[],int n){ int i,j,temp; for(i= 0 ;i < n - 1 ;i++){ for(j = 0;j< n -1 - i;j++){ if(A[j] > A[j+1]){ temp = A[j+1]; A[j+1] = A[j]; A[j] = temp; } } } } int main(int argc, const char * argv[]) { int A[7]={3,1,2,4,6,8,1}; Bubble_sort(A, 7); for(int i =0; i < 7;i++){ printf("%d",A[i]); } } ####改进的冒泡排序 使用冒泡排序对N个数据进行排序,一共需要进行n-1次比较,本来是正常顺序的数据也需要进行n-1次排序,所以当判断所有的数据为有序的时候不在进行排序直接跳出循环, void Bubble_sort(int