C++之旅-冒泡排序

冒泡排序法可以形象地描述为:使较小的值像空气泡一样逐渐“上浮”到数组的顶部,而大的值逐渐“下沉”到数组的底部。这种排序技术要排好几轮,每一轮都要比较连续的数组素对。如果某对数值是按升序排列的,那就保持原样。如果按降序排列,就交换它们的值。

新学的C++,以前学VB时,也用到了冒泡排序,这次再次学冒泡排序时,相对于之前,简单了很多。下面分享一下我对这段代码的理解。

// 例4.3.1.cpp : 定义控制台应用程序的入口点。
//本程序从小到大排列10个随机整数


#include "stdafx.h"
#include<iostream>


int _tmain(int argc, _TCHAR* argv[])
{
	int vn[10];
	std::cout<<"原整数序列为:";//由用户输入10个随机整数
	for(int n=0;n<10;n++)
	{
		std::cin>>vn[n];//将随机数给数组赋值
	}
	for (int i=1;i<10;i++)//确定本循环要找第i个最大的数
	{
		int temp;
		for(int p=0;p<10-i;p++)
		{			
			if (vn[p]>vn[p+1])//如果数组中前一个数大于后一个数,则交换位置
			{
				temp=vn[p];
				vn[p]=vn[p+1];
				vn[p+1]=temp;
			}
			
		}
		for(int x=0;x<10;x++)std::cout<<vn[x]<<' ';//第i轮循环输出结果是将第i个大的数排列在倒数第i位。
		std::cout<<std::endl;
		
	}
	return 0;
}

冒泡排序充分运用两值交换的方法,不断将相邻两数进行比较,并按照排序要求交换位置,直至将最大的数交换到最后(升序)或将最小的数交换到最后(降序)。


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值