• 冒泡排序算法


    冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。

    然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。

    在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数 第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。

    如此下去,重复以上过程,直至最终完成排序。

    c语言实现如下:

     1 #include<stdio.h>  
     2 #include<stdlib.h>  
     3 #include<string.h>  
     4 void bubble_sort(int value[], int length)  
     5 {  
     6  int i = 0;  
     7  int j = 0;  
     8  int temp;  
     9  for(i = 1; i < length ; i++)  
    10  {  
    11   for(j = 0; j< length - i; j++)  
    12   {  
    13    if (value[j] > value[j+1])  
    14    {  
    15     temp = value[j];  
    16     value[j] = value[j + 1];  
    17     value[j+1] = temp;  
    18    }  
    19   
    20   }  
    21    
    22  }  
    23   
    24   
    25 }  
    26 int main()  
    27 {   
    28  int value[8] = {1,10920,293105};  
    29  int i = 0;  
    30  int length = 8;  
    31   
    32  printf("Before: ");  
    33  for(i =0; i < length; i++)  
    34  {  
    35   if(i == length-1)  
    36    printf("%d ", value[i]);  
    37   else  
    38    printf("%d ", value[i]);  
    39  }  
    40    
    41  bubble_sort(value, length);  
    42  printf("After: ");  
    43  for(i =0; i < length; i++)  
    44  {  
    45   if(i == length-1)  
    46    printf("%d ", value[i]);  
    47   else  
    48    printf("%d ", value[i]);  
    49  }  
    50    
    51  return 0;  
    52 } 
  • 相关阅读:
    【转】Pandas学习笔记(七)plot画图
    【转】Pandas学习笔记(六)合并 merge
    【转】Pandas学习笔记(五)合并 concat
    【转】Pandas学习笔记(四)处理丢失值
    【转】Pandas学习笔记(三)修改&添加值
    【转】Pandas学习笔记(二)选择数据
    17秋 SDN课程 第二次上机作业
    17秋 SDN课程 第三次上机作业
    17秋 SDN课程 第一次上机作业
    Ubuntu 14.04 安装sublime
  • 原文地址:https://www.cnblogs.com/xiongyunqi/p/4028547.html
Copyright © 2020-2023  润新知