欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

冒泡排序(倒序)

程序员文章站 2022-03-21 21:16:50
...
#include <iostream>
#include <cmath>

void main()
{
using namespace std;

int a[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int temp;		//用于数据交换时元素暂存
	int min = 0;						//min为数组下标,每次循环前初始化为0		
	for (int i = 0; i != 10; i++)
	{
		for (int j = 0; j != 10 - i; j++)		//已知数组末端为上次循环获取的最小值,故此次循环仅考虑剩余元素中的最小值,此思路可减少迭代次数
		{
			if (a[min] > a[j])
				min = j;
		}
		temp = a[min];
		a[min] = a[10 - i - 1];
		a[10 - i - 1] = temp;			//将最小的值移动到数组末端
		min = 0;
	}

	for (int i = 0; i != 10; i++)
	{
		cout << a[i] << " ";
	}

}

大于号改小于号变成正序的冒泡排序(min可以顺手改成max,方便理解)

相关标签: c++