当前位置:   article > 正文

C语言排序算法_冒泡排序(递归法) 函数接口定义: void bubblesort(int a[],int n,in

冒泡排序(递归法) 函数接口定义: void bubblesort(int a[],int n,int i);

C语言排序算法

1.冒泡排序

void BubbleSort(int a[],int n)
{
   
	int i,j,t,flag=0;//flag用来标记是否发生交换 
	for(i=0;i<n;i++)
	{
   
		for(j=n-1;j>i;j--)
		{
   
			if(a[j-1]>a[j])//交换数据 
			{
   
				t=a[j-1];
				a[j-1]=a[j];
				a[j]=t;
				flag=1;//有数据交换,设置标志变量 
			}
		}
		if(flag==0)//没发生交换,直接跳出循环 
		break;
		else
		flag=0;
	}
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

2.选择排序

void SelectSort(int a[],int n)
{
   
	int i,j,flag,t;
	for(i=0;i<n-1;i++)
	{
   
		flag=i;//记录需和第flag个元素交换 
		for(j=i+1;j<n;j++)//查找最小数据,保存其序号在flag中 
		if(a[flag]>a[j])
		flag=j;
		if(flag!=i)//交换最小数据在前面 
		{
   
			t=a[i];
			a[i]=a[flag];
			a[flag]=t;
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

3.插入排序

void InsertSort(int a[],int n)
{
   
	int i,j,t
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/658230
推荐阅读
相关标签
  

闽ICP备14008679号