关于c++sort函数的前两个函数的取值sort(a,a+5)问题【左闭右开)

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[10]={10,9,8,7,6,5,4,3,2,1};
	int b[10]={10,9,8,7,6,5,4,3,2,1};
		
	sort(a,a+5,less<int>());	
	for(int i=0;i<10;i++){
		cout<<a[i]<<" ";
	}
	
	cout<<endl<<"--------------"<<endl;
	
	sort(b+5,b+10,less<int>());
	for(int i=0;i<10;i++){
		cout<<b[i]<<" ";
	}
	return 0;
}

通过运行上述代码

可以发现 

a,a+5的数组下标是a0,a1,a2,a3,a4

a+5,a+10的数组下标是a5,a6,a7,a8,a9

简便理解起来就是a,a+5的范围是[a0,a5)   a+5,a+10的范围是[a5,a10)即  左闭右开

和java里的String.substring()运用方法是一个道理,同为左闭右开

发布了9 篇原创文章 · 获赞 1 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/cw397265362/article/details/93775552