冒泡排序-精编版

 1 #include <stdio.h>
 2 /**************************************************************
 3 *       BubbleSort:冒泡排序实现函数(从小到大                  *
 4 *       参数:a[]:排序前的整型数组                           *
 5 *              n:数组元素数                                   *
 6 *       返回值:无                                            *
 7 ***************************************************************/
 8 void BubbleSort(int a[],int n)
 9 {
10     int temp=0;
11     int i=0;
12     int j=0;
13     int k=0;
14     int swap=0;
15     int swapNum=0;
16
17     for(i=0; i<n-1&&!swap; ++i ) //如果一轮中没有交换则说明已经排序完毕
18     {
19         swap=1;
20         for( j=n-1; j>i; --j )
21         {
22             printf("start compare a[%d] and a[%d]\n\n",j,j-1);
23             if( a[j]<a[j-1] )//改为>则为从大到小排序
24             {
25                  printf("a[%d]<a[%d]\n",j,j-1);
26                  temp=a[j-1];
27                  printf("temp=a[%d]\n",j-1);
28                  a[j-1]=a[j];
29                  printf("a[%d]=a[%d]\n",j-1,j);
30                  a[j]=temp;
31                  printf("a[%d]=temp\n",j);
32                  swap=0;
33                  swapNum++;
34             }
35             else
36                 printf("a[%d]>a[%d],no need to change.\n\n",j,j-1);
37             printf("当前排序为:\n");
38             for( k=0; k<n; k++ )  //打印当前数组中的数值
39                 printf(" %d",a[k]);
40             printf("\n");
41         }
42         printf("****** %d 冒泡出来******\n",a[i]);
43     }
44     printf("共交换次数:%d\n",swapNum);
45 }
46 /***************************************************************
47 *                 主函数:调用冒泡排序函数实现排序             *
48 ****************************************************************/
49 void main(void)
50 {
51     int i=0;
52     int j=0;
53     int k=0;
54     int a[5]={10,7,30,11,0};
55
56     BubbleSort(a,5);
57
58     for( i=0; i<5; i++ )
59         printf(" %d",a[i]);
60
61      printf("\n");
62 }
时间: 2024-10-09 19:42:20

冒泡排序-精编版的相关文章

magento目录结构精编版

1 /app – 程序根目录 2 3 /app/etc – 全局配置文件目录 4 5 /app/code – 所有模块安装其模型和控制器的目录 6 7 /app/code/core – 核心代码或经过认证得模块,如果要升级不要这里的代码 8 9 /app/code/community – 社区版的模块目录10 11 /app/code/local – 定制代码目录12 13 /app/code/core/Mage? – magento默认命名空间14 15 /app/code/core/Mage

2016年下半年软考网络工程师真题解析精编版

李德鹏网站页面布局精编版

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width" initial-scale="1.0" />//加入自适应当前屏幕0 <title></title> <style type=&quo

(精编版)SSH网上商城项目讲解+源码

SSH网上商城(  源  码 密码:fnox) 1.1 前台需求分析: 1.1.1 用户模块: 注册: 1.前台JS校验: 2.使用AJAX完成对用户名异步校验: 3.后台Struts2校验: 4.验证码: 5.发送激活邮件: 6.将用户信息存入到数据库: 激活: 1.点击链接完成激活: * 根据激活码,查询数据库中是否有该用户: * 如果有:激活.(将激活码字段清空.) * 修改用户的状态: 登录: 1.输入用户名和密码:(数据校验.) 2.用户名和密码都正确同时用户状态必须是激活状态: 退出

[精校版]The Swift Programming Language

通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”.在 Swift 中,可以用一行代码实现: println("hello, world") 如果你写过 C 或者 Objective-C 代码,那你应该很熟悉这种形式——在 Swift 中,这行代码就是一个完整的程序.你不需要为了输入输出或者字符串处理导入一个单独的库.全局作用域中的代码会被自动当做程序的入口点,所以你也不需要main函数.你同样不需要在每个语句结尾写上分号. 这个教程会通过一系列编程例子来

冒泡排序(初级版)之C++实现

冒泡排序(初级版)之C++实现 一.源代码:BubbleSortLow.cpp 1 /*冒泡排序思想: 2 从第一个元素开始,对数组中两两相邻的元素比较,将值较小的元素放在前面,值较大的元素放在后面: 3 一轮比较完毕,一个最大的数沉底成为数组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置. 4 n个数,经过n-1轮比较后完成排序. 5 */ 6 #include<iostream> 7 using namespace std; 8 9 /*定义输出一维数组的函数*/ 10 void

冒泡排序(js版)

基本思想:两两比较相邻记录的关键字,如果反序则交换,直至没有反序为止. 最初的冒泡排序(初级版): 1 //从小到大 2 function BubbleSort(arr){ 3 var i,j,temp; 4 for(i=0;i<arr.length-1;i++){ 5 for(j=i+1;j<arr.length;j++){ 6 if(arr[i]>arr[j]){ 7 temp=arr[j]; 8 arr[j]=arr[i]; 9 arr[i]=temp; 10 } 11 } 12

Golang精编100题-搞定golang面试

Golang精编100题 能力模型 级别 模型 初级 primary 熟悉基本语法,能够看懂代码的意图:在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范: 中级 intermediate 能够独立完成用户故事的开发和测试:能够嗅出代码的坏味道,并知道如何重构达成目标: 高级 senior 能够开发出高质量高性能的代码:能够熟练使用高级特性,开发编程框架或测试框架: 选择题 1.   [初级]下面属于关键字的是()A. funcB. defC. structD. class

js里==和===的区别 以及sass与less的区别 (精解版)

js里==和===有什么区别 ==:运算符称作相等,用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换===:用来检测两个操作数是否严格相等1.对于zhidaostring,number等基础类型,==和===是有区别的内不同类型间比较,==之比较“转化成同一类型后的容值”看“值”是否相等,===如果类型不同,其结果就是不等同类型比较,直接进行“值”比较,两者结果一样2.对于Array,Object等高级类型,==和===是没有区别的3.基础类型与高级类型,==和===是