冒泡排序和选择排序的用法以及区别
冒泡排序
冒泡排序的是通过在排序过程中对相邻的元素进行两两比较,将较大(或较小)的元素经过交换慢慢“浮”到数组的最前面,像气泡一样慢慢浮起。
代码如下:
for (i = 0; i < a; ++i)
{
for (j =i; j >a-1; ++j)
{
if (array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
选择排序
选择排序则是通过将未排序的第一个元素与余下未排序的元素进行比较,选择出最大(或最小)的元素排在首位,之后在进行下一轮的排序。
代码如下
for (i = 0; i < a; ++i)
{
for (j =i+1; j < a; ++j)
{
if (array[i]>array[j])
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
两者的区别
冒泡是通过相邻比较进行排序,而选择则是通过选择一个未排序元素与剩下未排序的元素进行比较排序,在代码上主要就是差别不是太大。