This can be done using Stack .
For example :- you have got the pattern :-
0 1 2 3 4 5 6 7 8 9 10 11
( ( ) ( ( ) ( ( ) ) ( ) ... this pattern is wrong the faulty index
is at index 3 .
void MatchingBracket( char *str )
{
while ( str[i++] != '\0' )
{
if ( str[i] == '(') push(i); // If '(' is encountered the push
the index
else if (str[i]== ')') pop (); // if ')' the pop the stack
}
// if stack empty the no suck index else print the top of the stack
if(top>=0) printf("%d ",stack[top]);
}
It will give the faulty index as 3rd one .
Note :- This code is not tested ....
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.