基本算法:
变序型队列算法——可以改变容器中数据。
int arr[6]={1,12,3,2,1215,90};
int arr1[7];
copy(arr,arr+6,arr1);//将arr指定的范围复制给arr1。
for (int i=0; i<7; i++)
{
cout<<arr1[i]<<' ';
}
cout<<endl;
reverse(arr, arr+6);//反转。
for (int i=0; i<7; i++)
{
cout<<arr[i]<<' ';
}
cout<<endl;
int arr2[6]={2,5,6,9,0,-56};
swap_ranges(arr, arr+6,arr2);//交换arr与arr2的数据。
copy(arr, arr+6, ostream_iterator<int>(cout, " "));
非变序型队列算法——处理容器内数据,但是不改变。
int a[10]={12,0,5,3,6,8,9,34,32,18};
sort(a, a+10);//将a排序。
copy(a, a+10, ostream_iterator<int>(cout," "));
cout<<endl;
int b[5]={3,5,6,8,9};
if (includes(a, a+10, b, b+5 ))//判断数组b是否为a的子集。
{
cout<<"a中包含b"<<endl;
}
else
cout<<"a中不包含b"<<endl;
int c[15];
merge(a, a+10, b, b+5, c);//将数组a 和b合并到c.
copy(c, c+15, ostream_iterator<int>(cout," "));
cout<<endl;