how is the time complexity of bfs and dfs equal to O(v+e) if we consider this code
while(!queue.empty())
{
// Dequeue a vertex from queue and print it
s = queue.front();
cout << s << " ";
queue.pop_front();
    // Get all adjacent vertices of the dequeued 
    // vertex s. If a adjacent has not been visited,  
    // then mark it visited and enqueue it 
    for (i = adj[s].begin(); i != adj[s].end(); ++i) 
    { 
        if (!visited[*i]) 
        { 
            visited[*i] = true; 
            queue.push_back(*i); 
        } 
    } 
} 
the time complexity should be O(ve) or O(ev)
how loop is executing here pls explain.
      
    