注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

学习笔记

正确的方法如同学习书法,开始的时候要临摹,临摹好了然后创造自己的风格。

 
 
 

日志

 
 

[C/C++笔记]冒泡排序  

2011-11-12 15:07:48|  分类: C/C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       冒泡排序算法,是一种借助“交换”进行排序的方法,英文名叫Bubble Sort。

       冒泡排序的过程其实很简单。首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序(即r[0]>r[1]),则将两记录交换之,然后比较第二个记录和第三个记录,以此类推,直到第n-1个记录和第n个记录的关键字进行过比较为止。这个过程称作“第一趟起泡排序”,其结果是使得关键字最大的记录被安置到最后一个记录的位置上。类似的,可以对r[0],r[1]...r[n-1]进行起泡排序,最终即可得到有序序列。

代码为:

#include <stdio.h>
void bubble_sort(int *arr,int arrsize)
{
    int i,j,temp;
    for(i=0;i<arrsize;i++)
     for(j=0;j<arrsize-i;j++)
     {
         if(arr[j]>arr[j+1])
      {
          temp=arr[j];
          arr[j]=arr[j+1];
          arr[j+1]=temp;
      }
     }
}

int main(int argc,char *argv[])
{
    int arr[8]={0,4,2,5,1,8,7,9};
    int arrsize=8;
    bubble_sort(arr,arrsize);
   
    int i;
    printf("Sorted array: ");
    for(i=0;i<arrsize;i++){
     printf("%d ",arr[i]);
    }
    printf("\n");
}

编译运行:
$ gcc bubble_sort.c -o bubble_sort
$ ./bubble_sort
Sorted array: 0 1 2 4 5 7 8 8 9
  评论这张
 
阅读(861)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018