zoukankan      html  css  js  c++  java
  • 冒泡排序

    #include<stdio.h>
    int main()///冒泡排序
    {
        int a[10005];
        int n,temp=0,flag=0;
        while(scanf("%d",&n)!=EOF)
        {
            int sortnum=n-1,lastsort;///优化第二歩,如果后面已经有序,小循环里就停止冒泡
            for(int i=0;i<n;i++)
            scanf("%d",&a[i]);
    
            for(int i=0;i<n;i++)
            {
                flag=0;             ///优化第一步,如果已经排好序了,提前跳出大循环
                for(int j=0;j<sortnum;j++)
                if(a[j]>a[j+1])
                {
                    temp=a[j+1];
                    a[j+1]=a[j];
                    a[j]=temp;
                    flag=1;
                    lastsort=j;     ///每次小循环更新冒泡的结束位置
                }
                sortnum=lastsort;   ///需要把值弄到外面另一个变量里,不然的话边冒泡边改变循环条件,难免出错
                if(flag==0) break;
            }
    
            for(int i=0;i<n;i++)
            printf("%d	",a[i]);
        }
        return 0;
    }
  • 相关阅读:
    WebService
    JavaMail
    ssh框架整合
    CSS3初步
    SpringMVC 文件上传及下载
    Java多线程
    SpringMVC 数据校验
    初始化参数绑定——日期格式
    SpringMVC入门
    Quartz
  • 原文地址:https://www.cnblogs.com/shoulinniao/p/9505257.html
Copyright © 2011-2022 走看看