Bubble sort 冒泡排序

来源:互联网 发布:mysql存储过程递归 编辑:程序博客网 时间:2024/06/05 23:39

维基百科冒泡排序:https://en.wikipedia.org/wiki/Bubble_sort


    冒泡排序是一种简单的排序算法。基本原理就是从头开始比较相邻的两个数,如果不是从小到大的顺序那么就置换这两个临近的数,这样两两比较直到最后一个数,最大的数就排到了最后的位置,然后再从头开始两两比较,直到倒数第二个数,这样一遍一遍比较下去直到数列的头上没有数据可以比较为止。因为排序过程看起来像一个一个泡泡冒出来所以叫冒泡排序。

一个排序的示意图:


#include <stdio.h>void bubble_sort(int n[], int len){int i, j, temp;for (i = 0; i < len - 1; i++) {for (j = 0; j < len - 1 - i; j++) {if(n[j] > n[j+1]) {temp = n[j];n[j] = n[j+1];n[j+1] = temp;}}}}int main(){int number[] = {6, 5, 3, 1, 8, 7, 2, 4};int i;int len;len = sizeof(number)/sizeof(number[0]);bubble_sort(number, len);printf("\n");for (i=0; i < len; i++) {printf("%d ", number[i]);}printf("\n");return 0;}



0 0
原创粉丝点击