冒泡算法

来源:互联网 发布:淘宝二手打印机可靠吗 编辑:程序博客网 时间:2024/06/06 03:50

         冒泡排序算法是经典的排序算法,数据两两比较(升序排列),若后面的数字比前面小,就交换位置,这样比较第一趟(比较了N-1次,N为数据个数)后,最大的数字就到了最后.总共比较N-1趟

例如原数据位 8,4,9,1,3,第一趟比较完毕为:

        4,8,1,3,9

        第二趟最后一个数据就不用比较了,比较前N-1个数据,比较N-2次,比较完毕为

        4,1,3,8,9

        第三趟比较前N-2个数据,比较N-3次

        1,3,4,8,9

        第四趟比较前N-3个数据,比较N-4次

        1,3,4,8,9

        比较结束

例程:

#include <stdio.h>void sort(int argv[],int n) {int i,j;int tem;for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(argv[j]>argv[j+1]){tem = argv[j];argv[j] = argv[j+1];argv[j+1] = tem;}}}}int main() { int i; int data[5] = {8,4,9,1,3};sort(data,5);for(i=0;i<5;i++){printf("%d ",data[i]);}printf("\n"); }


        

        

        

原创粉丝点击