冒泡/选择排序
冒泡
若数组大小为N,进行 N*N次循环,每次进行前后,判断大小,根据要求的排序顺序进行前后替换
// 冒泡排序
void sort_bubbling(int a[], int len)
{
int i, j, temp;
for (i = 0; i < len; i++) {
for (j = 0; j < len - 1; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
选择
逐步向后跌增,比如数组长度为N,先从0开发,找到0索引后面的值与0索引一一对比大小,根据排序要求记住index(这里为了不频繁的赋值),一个循环结束进行值替换。
// 选择排序
void sort_choose(int a[], int len)
{
int i, j, min, temp;
for (i = 0; i < len - 1; i++)
{
min = i;
for (j = i + 1; j < len; j++)
{
if (a[min] > a[j])
{
min = j;
}
}
if (min != i) {
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
}
参考:
https://blog.csdn.net/qq_33183679/article/details/90450069