C find函式的兩種不同型別

2022-02-13 20:38:57 字數 1405 閱讀 4953

find

主要有兩種find。

第一種為c++標頭檔案中的函式,這種函式find格式如下:

find(start,end,val);
如果查詢到了,會返回元素的引用或者指標,而不是返回下標,因為為了兼顧不同的資料結構,可能有的不是按照位址順序儲存的。

//容器寫法:

find(a.begin(),a.end(),val); //如果查詢失敗返回a.end()

//陣列

find(a,a+lengh,val);

第二種為容器的成員函式

例如string ,返回的為下標值。若查詢失敗,則返回string::npos

string s1("hello world");

string s2("he");

//查詢第一次字串出現的位置

int index=s1.find(s2);

//查詢x開始第一次目標字串出現的位置

int ind=s1.find(s2,2);

容器vector未定義find函式,map,set等因為不是順序結構儲存,所以返回的是迭代器。若查詢失敗返回a.end()

如題:

#include #include using namespace std;

int main()

; int *location ;

int value ;

cin >> value;

______________ //待填空

if (location != a + 5)

cout << value << "是第"

<< (location-a)+1 << "個元素" << endl;

else

cout << "error" << endl;

return 0;

}

程式的功能是在a陣列中查詢值等於value的元素,請為橫線處選擇合適的程式( )

a

for(int i=0;i<5;i++)

if(a[i]==value)

location=&a[i];

b for(int i=0;i<5;i++)

if(a[i]==value)

location=i;

c location = find(a, a + 5, value) ;

d for(int i=0;i<5;i++)

if(a[i]==value)

location=a[i];

答案:a、c

海水與火焰 領導眼中兩種不同型別的員工

頭一段時間,業務擴大,乙個team拆分成兩個team。大家說,為了容易區分,給兩個team都取個名字吧。後來名字敲定,乙個叫 海水 乙個叫 火焰 為什麼起這個名字呢,大體是按照兩個team不同的性格和做事風格來取的。海水 team,個性低調,做事謹慎。火焰 team,個性張揚,做事熱情似火。當然,這...

海水與火焰 領導眼中兩種不同型別的員工

頭一段時間,業務擴大,乙個team拆分成兩個team。大家說,為了容易區分,給兩個team都取個名字吧。後來名字敲定,乙個叫 海水 乙個叫 火焰 為什麼起這個名字呢,大體是按照兩個team不同的性格和做事風格來取的。海水 team,個性低調,做事謹慎。火焰 team,個性張揚,做事熱情似火。當然,這...

不同型別的檔案

cpp檔案 cpp是用c 語言編寫的源 檔案的字尾 具體實現 h檔案 h是c語言和c 語言的標頭檔案 函式宣告,巨集定義,函式原型 pde檔案 一共有4種可能,分別為 1 powerdesk encrypted file 2 pathology data exchange file 3 afp pa...