算法之冒泡排序
冒泡排序的思想
冒泡排序是一种比较容易接收的排序,它稳定而且易于实现,其主要思想如下:
给定一个随机序列array(这里我们为了突出算法认为array内的元素是int类型),再给定两个下标i,j分别用来指向两个要比较和交换的对象,设i的初始值为0(i的含义代表着排序的轮数),让j的初始值为1(即每次让j从第二个位置开始),每次比较array[j]和array[j - 1]的大小关系,如果array[j - 1] > array[j](升序情况),则交换array[j]和array[j - 1]的值。每当j遍历完待排序序列地时候,该序列的最大值已经在整个序列的末尾。然后让i增加1(代表当前排好序的元素又增加了一个)。
我们给出如下序列进行实际的演练:
冒泡排序的算法实现
根据上述的算法描述,我们给出冒泡排序的C语言实现:
//冒泡排序
void bubble_sort(int *array, int length)
{
int i = 0;
int j = 0;
int temp = 0;
// 统计出待排序数量:length