在一個數(shù)組中查找某一個元素,或是在一個字符串中查找某個字符,我們一般都會寫出如下代碼。這樣的代碼雖然簡潔明了,但在數(shù)組元素很多的情況下,并不是一個很好的解決方案,今天我就來分享一個提高查找速度的小技巧.
123456789101112131415161718192021//在一個int數(shù)組中查找某個元素intfind(intA[],intn,intelement){ for(inti=0;i<n;i++) { if(A[i]==element) returni; } return-1;} //在一個字符串中查找某個字符intfind(string&str,charc){ for(inti=0;i<str.length();i++) { if(str[i]==c) returni; } return-1;}雖然每次都是寫出這樣的代碼,但我總覺得for循環(huán)中的,昨天晚上看編程珠璣的時候發(fā)現(xiàn)了這個小技巧,今天就來分享一下。
通過哨兵的方式去掉這多余的判斷,將上面兩個方法改造如下:
123456789101112131415161718192021222324252627282930313233343536373839//在一個int數(shù)組中查找某個元素intfind1(intA