C语言学习笔记:冒泡法排序、交换法排序与选择法排序的比较
程序员文章站
2022-07-15 08:51:41
...
C语言学习笔记:冒泡法排序、交换法排序与选择法排序的比较
1.冒泡法排序
void Bubblesort(int score[], int n)//冒泡法排序,从小到大
{
int i, j, t;
for(i=0; i<n-1; i++)
{
for(j=1; j<n-i; j++)
{
if(score[j]<score[j-1])
{
t=score[j];
score[j]=score[j-1];
score[j-1]=t;
}
}
}
}
2.交换法排序
void Changesort(int score[], int n)//交换法排序,从小到大
{
int i, j, t;
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(score[j]<score[i])
{
t=score[j];
score[j]=score[i];
score[i]=t;
}
}
}
}
3.选择法排序
void Selectionsort(int score[], int n)//选择法排序,从小到大
{
int i, j, k, t;
for(i=0; i<n-1; i++)
{
k=i;
for(j=i+1; j<n; j++)
{
if(score[j]<score[k])
{
k=j;//记录最小数下标位置
}
}
if(k != i)//若最小数不在下标位置
{
t=score[k];
score[k]=score[i];
score[i]=t;
}
}
}