个人观点:其实抛开思想从语法上来说,大致分为三种就够了(冒泡排序、插入法排序、折半法排序)
今天在这里我们先讨论前面三种(即冒泡排序)这方面的内容。
喜欢我的内容,记得动动你们的双手,双击点个赞鸭!
一、选择法排序
核心思想:(从小到大排序)外循环对数组中的每一个元素进行逐个选中,在选中某一个元素时以内循环将这个数组余下未排序的最小值找出与之交换。
实现代码:
for (i = 0; i < 9; i++)
{
min = a[i]; //假设当前元素为最小值
m = i; //记录最小值的位置
for (j = i + 1; j < 10; j++)
{
if (a[j] < min)//如果这个元素的值比当前记录的最小值还小就记录这个元素
{
min = a[j]; //记录最小值
m = j; //记录最小值的位置
}
}
//这里跳出内循环后,我们就得到了余下元素里面的最小值
a[m] = a[i]; //将当前元素赋值给拥有最小值的元素
a[i] = min; //将最小值赋值给当前元素,这里我们就达到了交换数据的目的
}
这里我们是假设一个数组a[10],通过外层循环,每次记录当前位置为最小值(为了避免后面元素没有比当前位置元素小时,