【大学生C++】大一新生C++冒泡排序基础用法

新手上路,如果有讲的不好的地方,请指正。

如有任何疑问,欢迎评论留言!

1.冒泡排序基础用法

 运用 if 语句a和b的判断大小,然后将大的数值赋值给a,小的数值赋值给b,其实也就是简单的调换顺序的方法。 

#include<iostream>
using namespace std;
int main()
{
	//调换位置 
	int a,b,c;
	cout<<"请输入两个整数a和b:";
	cin>>a>>b;
	cout<<"调换位置前a="<<a<<endl<<"调换位置前b="<<b<<endl; 
	if(b>a)   // 如果 b 大于 a 
	{
		c=a;  // 将输入的数值 a 赋值给一个空的变量c 
		      // 此时 c 里面存了 a 的值 
		a=b;  // 再将 b 的值赋给 a ,此时 a 里存的是 b 的值 
		b=c;  // 由于前面已经将 a 赋给了 c ,现在再将 c 赋值给b
		      // 实现了 a 和 b调换位置 
	} 
	cout<<"调换位置后 a="<<a<<endl<<"调换位置后 b="<<b<<endl; 
	return 0;
}

运行结果如下: 

2.冒泡排序在数组中的用法

其实也就时简单的调换位置的代码加上循环来使用

详细情况请看代码中的注释 

#include<iostream>
using namespace std;
int main()
{
	// 冒泡排序	 
	int a[10],n; // 变量 n 和前面的c一样,充当空的变量  
	
	for(int i=0;i<10;i++)
	{
		cin>>a[i];  // 这一块很好理解,就是循环 10 次,写入 10 个数据 
	}
	
	for(int j=0;j<9;j++)
	{
	 
		for(int x=0;x<9;x++)  // 这里我们只用一次for循环的话,就会出现只吧最小值调到最后面 
		{
			if(a[x+1]>a[x])   // 例如按顺序输入1-10,一次循环发现 2>1,就将2 和 1 调换了位置,此时变成了 2 1 3 4......10 
			{				  // 第二次循环发现 3>1 ,就将1和3调换了位置,变成了 2 3 1 4 5 ......10 
				n=a[x];       // 第三次循环发现 4>1 ,就将1和4调换了位置,变成了 2 3 4 1 5 6......10 
				a[x]=a[x+1];  // 以此类推,到第九次循环,1到了最后面,变成了 2 3 4 5 6 7 8 9 10 1 
				a[x+1]=n;     // 所以我们要在这外面再次套上一个for循环,让里面这个循环执行九次				            
			}                 // 也就是说当j=1时将而调到 1 的前面,即 3 4 5 6 7 8 9 10 2 1 
		}	                  // 以此类推,当它执行到最后次时,便完成了从大到小的排序 
	}
	
	for(int m=0;m<10;m++)     // 然后再将它们打印出来,显示为从大到小的排序 
	{
		cout<<a[m]<<" ";
	}		
	return 0;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值