交换排序之----冒泡排序法

来源:互联网 发布:smb协议如何传输数据 编辑:程序博客网 时间:2024/06/05 19:53

冒泡排序(bubble sort)属于交换排序的类型,它从数组的一端开始,依次对相邻两元素进行比较,当发现它们不合顺序时就进行依次交换。冒泡排序是稳定的。排序的稳定性是指相等的二个数经排序后这两个数的相对位置不变。

程序实现如下:

#include<stdio.h>#include<string.h>#define Type int //要转换的数组类型,可以为char ,int,但是注意对  //main函数num[10]的初始化,以及输出格式的替换void bubble(Type *buf, int count){int i,j;Type x;for(i = 1; i < count; i++)     //进行count-1次排序for(j = 0; j <count - i; j++) //在进行第i趟排序时,进行count-i排序{if(buf[j] > buf[j +1]){x = buf[j];buf[j] = buf[j+1];buf[j+1]= x;}}}int main(){int i;Type num[10] = {1,13,24,3,21,42,51,12,7,13}; // "asdfghjklo"printf("Original array:");for(i = 0; i < 10; i++)printf("%d ", num[i]);  //输出格式的替换printf("\n");bubble(num,10);printf("Sorted array:");for(i = 0; i < 10; i++)printf("%d ", num[i]);  //输出格式的替换printf("\n");return 0;}