专接本必看-冒泡排序算法 及其优化算法

专接本必看-冒泡排序算法 及其优化算法,第1张

冒泡排序算法 及其优化算法

专接本考试常见的排序算法之一 冒泡排序算法
程序填空题 程序编程题都可能遇到

编程重点部分

相邻的两个数互相交换

t=a[j];
a[j]=a[j+1]
a[j+1]=t

注意循环部分
数组个数为n个
n个数循环n-1次
第j轮要进行** n-i-1**次对比

//降序冒泡排序
#include 
void main()
{
	int a[10];
	int i,j,t;
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	
	//开始排序
	for(i=0;i<10-1;i++)
	{
		for(j=0;j<10-1-i;j++)
		{
			if(a[j]<a[j+1])
			{
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
	}

	for(i=0;i<10;i++)
	{
		printf("%d ",a[i]);
	}

}
冒泡优化算法

如果是相同的冒泡会一直排序 所以优化排序减少重复冗余

#include 

void main()
{
  int a[10];
  int i,j,t,flag;
  for(i=0;i<10;i++)
    scanf("%d",&a[i]);

  for(i=0;i<10-1;i++){
    flag = 0;
    for(j=0;j<10-i-1;j++){
      if(a[j]<a[j+1]){
        t=a[j];
        a[j]=a[j+1];
        a[j+1]=t;
        flag=1;
      }
    }


    if(!flag){
      break;
    }
  }


  for(i=0;i<10;i++){
    printf("%d",a[i]);
  }

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1295814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存