C语言冒泡法与选择法起什么作用
发布网友
发布时间:2023-08-16 00:28
我来回答
共5个回答
热心网友
时间:2023-09-28 10:47
冒泡排序和选择排序算法,都是用来排序的。
热心网友
时间:2023-09-28 10:47
冒泡不用说了
选择排序:
#include <stdio.h>
void print(int* a, int size)
{
printf("%d", *a);
for (int i=1; i<size; i++)
printf(" %d", *(a+i));
putchar(10);
}
inline int select_min(int* a, int begin, int end)
{
int min = *(a+begin);
int i,j=begin;
for (i=begin; i<end; i++)
{
if (*(a+i) < min)
{
min = *(a+i);
j = i;
}
}
return j;
}
void select_sort(int* a, int size)
{
int j=0;
int tmp;
for (int i=0; i<size; i++)
{
j = select_min(a, i, size);
if (j != i)
{
tmp = *(a+i);
*(a+i) = *(a+j);
*(a+j) = tmp;
}
}
}
int main()
{
int a[]={3, 2, -23, 21, 1, -9, 8, -91, -38, 58};
puts("Before sorted");
print(a, sizeof(a)/sizeof(*a));
select_sort(a, sizeof(a)/sizeof(*a));
puts("After sorted");
print(a, sizeof(a)/sizeof(*a));
putchar(10);
return 0;
}
热心网友
时间:2023-09-28 10:48
前者是在运动中排序,后者是在静止中排序。
热心网友
时间:2023-09-28 10:48
冒泡排序和选择排序是两种排序算法,与C语言无关。
热心网友
时间:2023-09-28 10:49
当然是排序的一种方法啊~