PTA 7-5 找最小的值做图像分割

(堆,建立最大堆,最小堆,堆排序函数)

对ISBN号图像进行一系列处理之后,我们要将图像中的ISBN号与背景分离开来,以便于下一步对ISBN号进行分割的处理。对一幅图像进行分割,是利用图像要提取的目标与背景在灰度上的差异,通过设置阈值来将像素级分成若干类,从而实现目标与背景分离。现给定N个灰度级的频数,请你使用冒泡排序或者选择排序对灰度级频数进行排序并找出灰度级频数中最小的值。

输入格式:

输入在第一行给出N(0-255)个灰度级;随后一行输入N个灰度级对应的频数(频数小于256)。

输出格式:

输出灰度级频数排序之后的序列并输出灰度级频数最小的值。

输入样例:

6
3 5 8 6 7 2

输出样例:

2 3 5 6 7 8 
灰度级频数最小的值为:2

题解: 

#include<iostream>
#include<set> //底层也是平衡二叉搜索树,虽然不是堆,但是它的每项操作也是log(n)级别,也和快

using namespace std;

int main()
{
	int n;
	cin>>n;
	multiset<int> result;
	for(int i = 0;i < n;i++){
		int x;
		cin>>x;
		result.insert(x); //插入x,无重复值
	}
	multiset<int>::iterator it; //迭代器访问
	for(it = result.begin();it != result.end();it++){
		cout<<(*it)<<" ";
	}
	cout<<endl;
	cout<<"灰度级频数最小的值为:"<<*result.begin();
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值