ACM算法之----面对排序的通用做法sort

     这几天一直在学习各种各种排序的思想,冒泡的双重循环,桶排序的精准定位以及快排的二分法,实现排序有很多种思想,但真正在算法竞赛的时候,首当其冲的就应该是一个东西!!!!sort()!!!一个sort就可以解决大部分的排序问题,sort的用法也很简单:

                               sort(a,a+n),a为数列的首,a+n为数列的尾

下面是一个具体的例子,将一串数列去重并排序;

                  

一个sort解决万千烦恼!记得加属于他的头文件哦;

#include<iostream>
#include<algorithm>     //需要这个头文件!!
using namespace std;

int main()
{
	int i,n,a[10001];
	int count=0;
	cin>>n;
	for(i=0;i<n;i++) cin>>a[i];
	sort(a,a+n);                     //so easy!
	
	for(i=0;i<n;i++)
	{
		if(a[i] == a[i+1]) 
		{
			count++;
		}
	}
	cout<<n-count<<endl;
	for(i=0;i<n;i++)
	{
		if(a[i] == a[i+1]) 
		{
			cout<<a[i]<<" ";
			i++;
		}
		else cout<<a[i]<<" ";
	}
	return 0;
}

                                               

猜你喜欢

转载自blog.csdn.net/dyyay521/article/details/104397733
今日推荐