关于C头文件#include <algorithm>的问题
#include"algorithm"是”STL通用算法“的头文件,请问STL是什么意思?另外什么情况下头文件需要与”usingnamespacestd;“共同使用?us...
#include"algorithm"是”STL 通用算法“的头文件,
请问STL是什么意思?
另外什么情况下头文件需要与”using namespace std;“共同使用?
using namespace std;的作用又是什么? 展开
请问STL是什么意思?
另外什么情况下头文件需要与”using namespace std;“共同使用?
using namespace std;的作用又是什么? 展开
3个回答
展开全部
1、<algorithm>是c++特有的STL模板的算法头文件 包含了一些特定的算法函数 包括sort(),stable_sort(),partical_sort(),nth_element()等常用的算法函数
2、常用的<algorithm>里的函数:
其中firtst,mid,last,mid,nth均为迭代器类型
排序默认为升序 排序范围为[first,last) 即first至last前一位
sort(first,last)快排
stable_sort(first,last)归并排序
partical_sort(first,mid,last)堆排序
nth_element(first,nth,last)找出第n小的元素放于nth所在的位置
min_element(first,last)寻找范围内最小值 返回迭代器
max_element(first,last)寻找范围内最大值 返回迭代器
2、常用的<algorithm>里的函数:
其中firtst,mid,last,mid,nth均为迭代器类型
排序默认为升序 排序范围为[first,last) 即first至last前一位
sort(first,last)快排
stable_sort(first,last)归并排序
partical_sort(first,mid,last)堆排序
nth_element(first,nth,last)找出第n小的元素放于nth所在的位置
min_element(first,last)寻找范围内最小值 返回迭代器
max_element(first,last)寻找范围内最大值 返回迭代器
展开全部
这些都是c++的概念
STL = Standard Template Library,标准模板库
就是别人把一些常用的算法都实现了,你直接调用他的方法就行了
stl所有的类和方法都是std这个名字空间下的
你用到stl的类和方法的时候必须在前面加上std::来告诉编译器用的是stl里的东西
比如std::string, std::vector
这样写代码通常会很麻烦,
加一句using namespace std;后,你就可以直接写string,vector了
STL = Standard Template Library,标准模板库
就是别人把一些常用的算法都实现了,你直接调用他的方法就行了
stl所有的类和方法都是std这个名字空间下的
你用到stl的类和方法的时候必须在前面加上std::来告诉编译器用的是stl里的东西
比如std::string, std::vector
这样写代码通常会很麻烦,
加一句using namespace std;后,你就可以直接写string,vector了
更多追问追答
追问
#include
#include
using namespace std;
main()
{
int i,n;
int a[100],m;
while(scanf("%d",&n)!=EOF && n!=0)
{
m=0;
for(i=0;i<n;i++)
{
scanf("%d",f+i);
if(a[i]<a[m]) m=i;
}
swap(a[m],a[0]);
for(i=0;i<n;i++)
printf("%d%c",a[i],(i<n-1 ? ' ' : '\n'));
}
}
那请问这个CODE为什么运行不了呢?
追答
报什么错误啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
修改程序如下:
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(void)
{
int i,n;
int a[100],m;
while(scanf("%d",&n)!=EOF && n!=0)
{
m=0;
for(i=0;i<n;i++)
{
scanf("%d",a+i);
if(a[i]<a[m]) m=i;
}
swap(a[m],a[0]);
for(i=0;i<n;i++)
printf("%d%c",a[i],(i<n-1 ? ' ' : '\n'));
}
return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(void)
{
int i,n;
int a[100],m;
while(scanf("%d",&n)!=EOF && n!=0)
{
m=0;
for(i=0;i<n;i++)
{
scanf("%d",a+i);
if(a[i]<a[m]) m=i;
}
swap(a[m],a[0]);
for(i=0;i<n;i++)
printf("%d%c",a[i],(i<n-1 ? ' ' : '\n'));
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询