欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
				}
		}
	}