冒泡排序--注意flag变量的设置

代码:

#include<stdio.h>

void BubbleSort(int a[],int n){
    int i,j;
    int temp;
    int flag = 1;   // 此处flag变量的设置可以提高算法的效率
    for(i=0;i<n-1&&flag;i++){
        flag=0;
        for(j=1;j<n-i;j++){

            if(a[j]<a[j-1]){
                temp = a[j];
                a[j] = a[j-1];
                a[j-1] = temp;
                flag=1;
            }
        }
    }
}

int main(){
    int a[10] = {1,0,2,3,4,5,6,7,8,9};
    int i;

    BubbleSort(a,10);
    printf("排序后:");
    for(i=0;i<10;i++){
        printf("%d ",a[i]);
    }
    printf("\n");
    return 0;
}
时间: 2024-12-21 10:07:27

冒泡排序--注意flag变量的设置的相关文章

Win7下JDK环境变量的设置

JDK并不像Microsoft阵营vs那样智能,安装好后所有的东西都给你配置好了,我们还没需要手动配置很多东西 首先说为什么要配置JDK的环境变量在任何路径下识别java命令和java类 配置分为2个部分,1,java命令路径.2,java加载类 分为3个步骤,首先设置java的一个总路径JAVA_HOME,然后设置命令路径PATH,然后是加载类路径CLASSPATH 1.配置环境变量 首先打开Win7的环境变量--右键我的电脑属性-高级环境设置(在左侧)--点击环境变量 1)JAVA_HOME

hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)

Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题. vi /etc/profile 在profile文件末尾加入: JAVA_HOME=/usr/share/jdk1.5.0_05PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_H

Linux环境变量的设置和查看方法

1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ echo $HELLO Hello! 3. 使用env命令显示所有的环境变量 $ env HOSTNAME=redbooks.safe.org ... 4. 使用set命令显示所有本地定义的Shell变量 $ set BASH=/bin/bash BASH_VERSINFO=([0]="2"[1

uboot环境变量(设置bootargs向linux内核传递正确的参数)

这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误.查看了很多资料后猜想应该是uboot传递给linux内核的参数有问题,也就是bootargs的设置有问题. #printenv bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200 rootfstype=yaffs2 rw mem=64M bo

windows下,java环境变量的设置,设置点击startup.bat启动tomcat

1.首先,安装好java jdk以后设置环境变量: CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar JAVA_HOME:C:\Program Files\Java\jdk1.7.0_51 Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 这个我觉得就不用详细介绍了,基础. 2.其次下载好的tomcat解压在F盘,名字为:apache-tomcat-proxy 在原来配置好的变量上再修改: C

linux下java环境变量的设置,形参个数可变的方法

首先我们执行jdk二进制文件: 生成一个jdk目录,将这个目录mv到/usr/loca/jdk # vim /etc/profile export JAVA_HOME=/usr/local/jdkexport CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PAT# vim Varargs.java #source /etc/profile 例子: #vim test.java 这个例子中test方法形参个数可变,在形参列表中,最后一个形参

linux的几个内核镜像格式Image 和 u-boot启动内核和文件系统时的一些环境变量的设置

关于编译powerpc linux的几个Image参考原文 http://blog.sina.com.cn/s/blog_86a30b0c0100wfzt.html 转载▼ PowerPC架构 Linux和ARM,X86等平台有些差异,PowerPC平台HW参数不是通过命令行方式传递到Linux,而是通过传递Device tree文件的方式传递参数,所以PowerPC平台Linux需要编译dtb和uImage才能正常加载,另外PowerPC架构linux还提供simpleImage的方式加载,也

VB 对象变量或with块变量未设置

先看错误代码,以下代码提示 对象变量或with块变量未设置: Dim obj As Object obj = WebBrowser1.Document.getElementById("switcher_plogin") 修改为如下代码即可: Dim obj As Object Set obj = WebBrowser1.Document.getElementById("switcher_plogin") 参考资料:http://zhidao.baidu.com/li

hive的变量传递设置

hive的变量传递设置 今天同事在oozie的workflow中执行一个hive查询,但是直接就报异常:Variable substitution depth too large:40,从网上查询可知,可以确认是由于语句中使用了过多的变量导致,在hive以前的版本中,这个限制是写死的40个,查询Hive的最新的原代码,虽然判断的位置的提示信息已经变化,但是原理一样: ### org.apache.hadoop.hive.ql.parse.VariableSubstitution: public