//改进的冒泡程序
#include<stdio.h>
void BubbleSort(int arr[], int length);
int main( )
{
int i;
int arr[9] = {1,1,5,7,2,4,9,6,8};
int length=sizeof(arr)/sizeof(arr[0]);
BubbleSort(arr,length);
for(i=0;i<length;i++)
{
printf("%d ",arr[i]);
}
}

void BubbleSort(int arr[], int length)
{
int i,j,flag=1;//设置标志位来标记是否已是有序
for(i=0;i<length-1&&flag==1;i++)
{
flag=0;
for(j=0;j<length-i-1;j++)
{
if(arr[j]>arr[j+1])
{
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=1;
}

}
}
}

转载于:https://www.cnblogs.com/yangyan1006/p/4872750.html

数据结构与算法——冒泡排序(改进后)相关推荐

  1. JS数据结构与算法——冒泡排序(把大的数字依次往后放)

    一.图解排序过程 注意:比较次数和交换次数之所以不一致,是因为:比较了并不一定就需要交换两个数字的位置,比如比较 1 和 2两个数字,由于 后者本身就比前者大,所以不需要交换两者的位置. 二.代码实现 ...

  2. 数据结构--排序算法(冒泡排序)

    一.原理 冒泡排序是最简单的排序算法,两层遍历,外部循环从第一个元素开始遍历到倒数第二个,内部循环从最后一个元素遍历到外部循环的下一个元素,内部循环比较当前元素和前一个位置的元素,如果当前元素大,则交 ...

  3. Java数据结构与算法——冒泡排序

    1.关于排序 排序也称排序算法 (Sort Algorithm),排序是将一 组数据,依指定的顺序进行排列 的过程. 排序的分类: 内部排序:  指将需要处理的所有数据都加载 到内部存储器中进行排序. ...

  4. 数据结构与算法 / 冒泡排序及其优化的三种方式

    一.一般写法 统一使用交换函数: void swap(int& a, int& b) {int tmp = a;a = b;b = tmp;return; } void BubbleS ...

  5. 冒泡排序java代码_数据结构与算法—冒泡排序(Java实现)

    [toc] 冒泡排序 程序代码 package com.uplooking.bigdata.datastructure; import java.util.Arrays; public class B ...

  6. 数据结构与算法-----冒泡排序

    冒泡排序的基本思想,就是相邻的两个数字进行比较,如果它们的顺序错误,就把它们交换过来.什么是顺序错误呢?比如我们按从大到小进行排列,那么应该是大的数在前面,小的数在后面,两个数如果是45,98这么排列 ...

  7. java冒泡测试代码_数据结构与算法—冒泡排序(Java实现)

    [toc] 冒泡排序 程序代码package com.uplooking.bigdata.datastructure;import java.util.Arrays;public class Bubb ...

  8. 数据结构与算法 / 冒泡排序最坏情况下的时间复杂度解析

    冒泡排序是一种用时间换空间的排序方法,最坏情况是把顺序的排列变成逆序,或者把逆序的数列变成顺序.在这种情况下,每一次比较都需要进行交换运算. 举个例子来说,一个数列 5 4 3 2 1 进行冒泡升序排 ...

  9. 数据结构与算法:冒泡排序、插入排序、选择排序

    排序算法太多了,有很多可能你连名字都没听说过,比如猴子排序.睡眠排序.面条排序等.本文只众多排序算法中的一小撮,也是最经典的.最常用的:冒泡排序.插入排序.选择排序.归并排序.快速排序.计数排序.基数 ...

最新文章

  1. LeetCode简单题之重新格式化字符串
  2. RSA加密传输代码示例
  3. 11.32 php扩展模块装安
  4. 一行代码搞定 Scrapy 随机 User-Agent 设置
  5. 使用远程工具连接提示**Host *** is not allowed to connect to this mysql server**拒绝连接错误
  6. SpringBoot项目下resources文件夹下的静态资源浏览器无法访问
  7. java itextsharp_使用 c#中的 itextsharp 以 pdf 格式填充 xml
  8. OpenCV在相机或图像中检测QR码的实例(附完整代码)
  9. 一文理清Cookie、Session、Token
  10. gitee提交代码_git 版本控制,github和gitee
  11. JS中new的实现原理及重写
  12. java中取系统时间_JAVA中获取当前系统时间(示例代码)
  13. 深入探讨PageRank(二):PageRank原理剖析
  14. Android开源项目推荐之「最好用的Log」
  15. 电脑怎么找到tomcat端口_更换内存条的时候我怎么找到自己电脑配置的详细信息...
  16. 边缘检测——Prewitt算子
  17. Excel 快捷键学习笔记
  18. Win10家庭中文版如何添加本地用户
  19. 使用html制作圆弧正方形,CSS3圆角效果:从圆出发
  20. 麦肯锡的13个高效工作法则:重要的事,永远摆在第一位

热门文章

  1. PAL/NTSC/SECAM,这是全球现行的三种模拟技术彩色电视的制式
  2. 从printf谈可变参数函数的实现
  3. windows遍历目录下所有文件
  4. VMware打开虚拟机黑屏
  5. [ECMAScript] 说说你对async/await的理解?
  6. [react] react中发起网络请求应该在哪个生命周期中进行?为什么?
  7. [css] 如何使用css3实现一个div设置多张背景图片?
  8. [css] 在rem下如何实现1像素?
  9. [css] 使用css3画一个扇形
  10. [vue] 在使用计算属性的时,函数名和data数据源中的数据可以同名吗?