排序算法---冒泡排序

来源:互联网 发布:小榕sql注入工具 编辑:程序博客网 时间:2024/05/29 16:59

基本思想:两两相邻的记录的关键字,如果反序则交换,直到没有反序记录为止。

冒泡排序的要点 

1.两两注意是相邻的两个元素的意思
2.如果有n个元素需要比较n-1次,每一轮减少1次比较
3.既然叫冒泡排序,那就是从下往上两两比较,所以看上去就跟泡泡往上冒一样。

实现代码

#include <stdio.h>void BubbleSort(int k[], int n){int i, j, temp, count1=0, count2=0, flag;flag = 1;for( i=0; i < n-1 && flag; i++ ){for( j=n-1; j > i; j-- ){count1++;flag = 0;if( k[j-1] > k[j] ){count2++;temp = k[j-1];k[j-1] = k[j];k[j] = temp;flag = 1;}}}printf("总共进行了%d次比较,进行了%d次移动!", count1, count2);}int main(){int i, a[10] = {5, 2, 6, 0, 3, 9, 1, 7, 4, 8};BubbleSort(a, 10);printf("排序后的结果是:");for( i=0; i < 10; i++ ){printf("%d", a[i]);}printf("\n\n");return 0;}

0 0
原创粉丝点击