冒泡排序

前言:我在大一刚接触冒泡排序时被其表面迷惑,以为是一种很高端的排序算法。其实冒泡排序是一种非常容易理解也容易实现的排序算法。

描述冒泡排序其本质是将相邻的元素进行对比(如果是从小到大排序),如果发现前面的元素大于后面的元素那么交换即可,直到最后。该算法一般使用两层循环来实现。

代码描述:

#include<stdio.h> 
//冒泡排序 
int main(){
	int array[]={1,2,3,4,5,6,0}; 
	int i;
	int p;//用于交换两个数 
	for(i=0;i<7;i++){//第一层循环,循环7遍 
		int j; 
		for(j=0;j<6;j++){//核心代码 
			if(array[j]>array[j+1]){ //交换 
				p=array[j];
				array[j]=array[j+1];
				array[j+1]=p;
			}		
		} 
	
	int t;
	printf("\n");
	for(t=0;t<7;t++)printf("%d\t",array[t])	;
	printf("\n");
	}
	return 0;
}

结果分析:从结果我们可以看出,最后面的元素0,每次循环向前一位,整个过程就像气泡一样向上冒。所以形象的称为冒泡排序。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值