基础算法之排序(1)--冒泡排序_NTSK13的博客-程序员宝宝

技术标签: 步步为营学算法  

算法基础之排序(1)--冒泡排序  
 
基本思想: 对待排序的一组数据从前之后进行扫描,若发现相邻的两个数不同时,将这两个数进行交换. 
          升序和降序是同样道理.  
 
 
 假如待排序的一组数存于array[N],则需要对数组进行N-1次扫描 
  
 第1次扫描:  array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换. 
 第2次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换. 
   . 
   . 
   . 
 第N-1次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换. 

 结束. 


















/**********************************************************************************************************          
* Function        : test          
* Create Date     : 2014/03/23         
* Author          : NTSK13          
* Email           : [email protected]          
* Copyright       : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。          
                             任何单位和个人不经本人允许不得用于商业用途          
                             转载请注明 转自 http://blog.csdn.net/beijiwei          
* Version          : V0.1            
* date             : 2014/03/23        
* history          : V0.1             
***********************************************************************************************************                    
#include<stdio.h>                     
                                          
int main()                    
{                    
    int i=0,j=0,tmp=0,flag=0;  
    int array[10]={2,5,8,9,6,0,3,1,4,7};      
        
    printf("Before sort, The element of array is: \n");      
    
    for(i=0;i<10;i++)    
    {    
        printf("%d \t",array[i]);       
    }    
/*********************************************************************************************************/    
    for(i=0;i<9;i++)    
    for(j=0;j<9;j++)    
    {    
    if(array[j]>array[j+1])    
    {    
        tmp=array[j];    
        array[j]=array[j+1];    
        array[j+1]=tmp;  
    }  
   }  
/*********************************************************************************************************/    
    printf("\n After sort, The element of array is: \n");      
    for(i=0;i<10;i++)    
    {    
        printf("%d \t",array[i]);       
    }    
      
    printf("\n");       
    
    return 0;      
}      


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/beijiwei/article/details/21888409

智能推荐

navicat怎么导出mysql_navicat怎么把数据库导出_李川雨的博客-程序员宝宝

Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。下面我们就为大家介绍一下如何使用naviact把数据库导出。使用Navicat连接到mysql,然后选中你要导出的数据库,右键,选择转储SQL文件...,命名为数据名.sql,保存到本地中即可。如下图:●选择转储SQL文件…●保存到本地:数据库名.sql●保存成功usersinfo.sql中的...

Bootstrap 字体图标(Glyphicons)_书香水墨的博客-程序员宝宝

一、Bootstrap 字体图标(Glyphicons)1.1 字体图标列表点击查询Bootstrap字体图标1.2 用法&lt;p&gt; &lt;button type="button" class="btn btn-default"&gt; &lt;span class="glyphicon glyphicon-sort-by-attributes"&gt;&lt;/spa...

CUDA编程指南阅读笔记_4_Jackilina_Stone的博客-程序员宝宝

为方便起见后面的内容将按照话题来分类~异步并行执行 主机和设备间并行执行        为了支持主机和设备的并行执行,CUDA提供了一些异步函数。异步是指设备在完成功能执行之前就将控制权交还给主机线程,以便主机线程继续执行。这些函数有:        1、内核启动(Kernel Launches);        2、同一设备内存中两个地址块之间的数据传输;      ...

黑马程序员--java加强-注解_liye20110的博客-程序员宝宝

-------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------一、注解Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以”@注解名“在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、单

[Github] You‘ve successfully authenticated, but GitHub does not provide shell access._骑单车的王小二的博客-程序员宝宝

git push时出现这个错误提示,一般是本地设置github的ssh连接时,设置了无密码,没配置好。可用下面这个命令进行解决:git remote set-url origin [email protected]:用户名/仓库名.git

显卡掉了应对方式_喜瓜瓜的博客-程序员宝宝_掉显卡怎么办

查看存在的显卡个数nvidia -smi发现显卡有缺少看硬件是否识别到驱动lspci |grep NVIDIA发现四个显卡都识别到了则说明显卡驱动有问题,因此我们重新加载一下驱动./NVIDIA*.run --no-opengl-files查找驱动所在位置find / -name "NVIDIA*.run"进入init 3切换到驱动目录下...

随便推点

Java IO和Java NIO在文件拷贝上的性能差异分析(java IO优化)_LY破晓的博客-程序员宝宝

1. 在JAVA传统的IO系统中,读取磁盘文件数据的过程如下:以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区。参看read(byte b[])方法的源码,可知,它会在内部再调用readBytes(b, 0, b.length)方法,而且readBytes(b, 0, b.length)方法是一个native方法(即本地方法),最终通过这个本地方法来发起一次系统调用,即调用系统内核的read()方法,内核从磁盘读取数据

我的前端学习之路——第一天:安装软件_前端尨猫的博客-程序员宝宝

安装软件1、金山打字通2、思维导图3、PS4、代码编辑器VS Code5、浏览器Chrome Firefox IE

python图像处理初探——基于hough变换的直线道路识别_Style_Wei_的博客-程序员宝宝

暑期实习的工作是基于遥感地图的道路识别工作,在前期的论文调研过程中,基于自己的水平选择了复现 hough变换的方法,也算是直线处理的经典算法。重要的是,复习了数字图像处理的各种流程1.引库opencv库进行图像的处理numpy库进行多维数组的处理import cv2import numpy as np2.基本图像处理(以下的过程不一定都要用到,我只是顺便都复习了一下)image = cv2.imread('road1.png')图像锐化kernel2 = np.array([[0,

无法解析的外部符号 __imp_RegCloseKey_Sparrow_du的博客-程序员宝宝

一.相关错误LNK2001 无法解析的外部符号 [email protected]  LNK2001 无法解析的外部符号 [email protected] LNK2001 无法解析的外部符号 [email protected] 二.解决办法缺少 Advapi32.lib在系统中找到对应的lib文件,复制到相应工程文件debug中在pro文件中增加 LIBS +...

用LED实现流水灯和用按键控制LED的亮灭_so恒久的博客-程序员宝宝

【前言】  恒子之后的系列文章都是为了记录自己在跟着韦东山老师学习嵌入式Linux开发过程中自己所学知识的梳理与总结。  若恒子的学习记录对您有帮助,那么将是我莫大的荣幸;如果文章当中有写得不当的地方,还望您指出,我将感谢至极!  恒子所用的开发板是韦老师的JZ2440,故之后的代码都是在JZ2440上运行成功的代码(都是裸板程序)。如果您是用其他开发板,也只需对代码进行简单修改。文章目录一、用LED灯实现跑马灯效果二、用按键控制LED灯的亮灭一、用LED灯实现跑马灯效果在解决这个问题之前我们需

DVWA-Brute Force_LEO-max的博客-程序员宝宝

笔者随手一试,admin,password竟然正确了,惊!果然是low等级的啊,不过还是要完整做一遍的。随便输入username与password用burpsuite抓包。进行爆破:注意我们要爆破username和password,所以attack type 我们要选择cluser bomb,并且只能在需要爆破的地方加上Add哦Payload set 1和2 在Option中选择相关...

推荐文章

热门文章

相关标签