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;
}

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


C++冒泡排序法,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。