首页 > 学院 > 开发设计 > 正文

排序--(单向)冒泡排序

2019-11-08 18:29:59
字体:
来源:转载
供稿:网友

基本原理(升序):对于给定的N个数据,从第一个数据开始依次对相邻的两个数据进行比较,数据大于后面时,交据位置,进行一轮比较和位置交换后,最大的数将位于第N 位;再对前(N-1)个数据进行比较和位置交换;重复该过程直至比较的数据只剩下最后一个。

复杂度:平均时间复杂度为O(N^2)

代码实现(C语言)

void BubbleSort(int *a, int n){ int i , j; int temp = 0; for(i=0; i<n; i++) { for(j=0; j<n-i-1; j++) { if(a[j+1] < a[j]) { temp = a[j+1]; a[j+1] = a[j]; a[j] = temp; } } }}int main(){ int i; int a[] = {2,5,1,4,6,8,3,9,7}; int n = sizeof(a)/sizeof(a[0]); BubbleSort(a,n); for(i=0; i<n; i++) { PRintf("%d ",a[i]); } return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表