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

                                               

發佈了61 篇原創文章 · 獲贊 128 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章