冒泡排序

冒泡排序:

应该是最基本的排序了,两层循环,外层控制趟数,内层控制每次两个值的比较并交换与否。

时间复杂度:O(n^2)

前几天做个题用的冒泡,结果Time limit exceed了....不知道是不是这个的问题。

比较基本就不放在函数里了。

代码:(升序排列)

#include<stdio.h>

int main()
{   int a[7]={21,54,7,11,98,43,0};
    int i,j,p;

    for(i=0;i<6;i++)//外循环
        for(j=0;j<6-i;j++)//内循环
            if(a[j]>a[j+1])
              { p=a[j];
                a[j]=a[j+1];
                a[j+1]=p;
              }     //交换前后2元素的值

    for(i=0;i<7;i++)
        printf("%d ",a[i]);


return 0;
}

 

刚开始学程序的话,这些最基本的程序可以慢慢理解,但时间长了以后如果你不能熟练写出这些基本程序,靠理解现写的话,以后复杂的问题求解就会在这上面浪费很长时间,这些基本的理解及以后还是多练成为潜意识比较好。

 

posted @ 2017-03-20 20:16  __Aiden  阅读(151)  评论(0编辑  收藏  举报