BubbleSort(冒泡排序)
来源:互联网 发布:软件开发高级工程师 编辑:程序博客网 时间:2024/06/06 02:33
冒泡排序
一般情况下不要用冒泡排序, 除非 n <= 16
冒泡排序算法的运作如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
//使用flag来避免因原数组已经有序而进行无意义的判断//平均时间复杂度O(n^2)//最优时间复杂度O(n)//最坏时间复杂度O(n^2)//空间复杂度O(1)//稳定#include <stdio.h>#include <stdbool.h>void swap(int *a, int *b){ int temp; temp = *a; *a = *b; *b = temp;}void BubbleSort(int a[],int n){ int i,j; bool flag = true; for (i = 1; i < n && flag; i++) { flag = false; for (j = n-1; j >= i; j--) { if (a[j] > a[j+1]) { swap(&a[j], &a[j+1]); flag = true; } } }}int main(){ int a[8]; printf("Please input the number:\n"); for(int i=0;i<8;i++) scanf("%d",&a[i]); BubbleSort(a,8); for (int i=0; i<8; i++) { printf("%d\n",a[i]); } return 0;}
阅读全文
0 0
- 冒泡排序 冒泡排序:BubbleSort
- Java BubbleSort(冒泡排序)
- 冒泡排序[BubbleSort]
- 冒泡排序 BubbleSort
- BubbleSort(冒泡排序)
- 冒泡排序bubbleSort
- 冒泡排序 bubblesort
- 冒泡排序bubbleSort
- 冒泡排序(BubbleSort)
- bubbleSort (冒泡排序)
- bubbleSort - 冒泡法排序
- 冒泡排序(BubbleSort)
- 冒泡排序(BubbleSort)
- 冒泡排序(BubbleSort)
- 冒泡排序(BubbleSort)
- BubbleSort冒泡排序
- BubbleSort冒泡排序
- 冒泡排序(BubbleSort)
- 设想假设1具体代码
- hdu 5901 Count primes (大素数模板)
- springBoot配置日志文件
- IOS中忽略警告的三种方法
- 结构体内存对齐
- BubbleSort(冒泡排序)
- YOLO模型训练可视化训练过程中的中间参数
- SMO算法剖析
- 406. Queue Reconstruction by Height
- 对一次通过CISSP考试的建议
- Android手机中获取手机号码和运营商信息
- 最大似然估计详解
- java截取2个特定字符之间的字符串
- 一位五年工作经验架构师的感悟