bubble_sort中change的作用举例
来源:互联网 发布:编程小游戏用什么软件 编辑:程序博客网 时间:2024/05/16 18:30
#include <stdio.h>void bubble_sort(int a[],int n){int i,j,temp;int change;for(i=n-1,change=1;i>=1&&change;i--)//正向或逆向冒泡皆可,内层循环不变{change=0;for(j=0;j<i;j++)if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;change=1;}}}void array_print(int a[],int n){int i;for(i=0;i<n;i++)printf("%d ",a[i]);printf("\n");}int main(){int a[5]={4,2,3,1,5};array_print(a,5);bubble_sort(a,5);array_print(a,5);}
关于change的作用举例:
若数组a[5]={1,2,3,5,4},
当外层循环进行到i=4时,change为true,重置为false,进入内层循环,j=0,j<4,直至循环到j=3时,a[3]=5>a[4]=4,a[3]<->a[4]。
此时change被设置为true。i被设置为3。
当外层循环继续进行到i=3时,change重置为false,进入内层循环,j=0,j<3,直至循环结束,仍未出现a[j]>a[j+1]的情况。
此时change仍为false。
那么外层循环因判断条件(i>=1&&change)为false,无需继续向下执行。
节省了程序执行过程所需要的时间。
在没有change常量的情况下,程序的外层循环必须执行到底(即直至i=0)。
由于数组内数据情况的不确定性,导致很多情况下会极大地浪费运算时间,尤其是在大数据量的情况下。
0 0
- bubble_sort中change的作用举例
- Data Structures-1 bubble_sort中的change作用举例
- 举例解析Java中Volatile的作用
- bubble_sort
- bubble_sort
- bubble_sort
- Bubble_sort
- bubble_sort
- Bubble_sort
- BUBBLE_SORT
- Smack 中 PacketCollector的作用和用法举例
- Smack 中 PacketCollector的作用和用法举例
- volatile的作用和举例
- PWM信号的作用举例
- jquery(live)中File input的change方法只起一次作用的解决办法
- C++的构造函数作用和举例
- mysql中外键的作用和举例
- 命名空间的作用及编程举例
- 时间格式简写
- No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 解决方
- PHP Smarty模版基础知识
- 基于Bayes和KNN的newsgroup 18828文本分类器的Python实现
- 使用JMS发布订阅topic,传递ObjectMessage
- bubble_sort中change的作用举例
- noip2009-4 道路游戏
- js笔记--BOM编程
- 自定义属性,自定义view,自定义UI模板
- hadoop spark全真式分布集群配置
- MD5加密算法
- rpm详解
- android RSA 加密实现
- 使用ganglia监控hadoop及hbase集群