關於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()運用方法是一個道理,同爲左閉右開

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章