Mobile ad-hoc networks (MANETs) are a specific kind of wireless networks that can be quickly deployed without pre- existing infrastructures. They are used in different contexts such as collaborative, medical, military or embedded applications. However, MANETs raise new challenges when they are used in large scale network that contain a large number of nodes. Subsequently, many clustering algorithms have emerged. In fact, these clustering algorithms allow the structuring of the network into groups of entities called clusters creating a hierarchical structure. Each cluster contains a particular node called cluster head elected as cluster head according to a specific metric or a combination of metrics such as identity, degree, mobility, weight, density, etc. MANETs has drawbacks due to both the characteristics of the transmission medium (transmission medium sharing, low bandwidth, etc.) and the routing protocols (information diffusion, path finding, etc.). Clustering in mobile ad hoc networks plays a vital role in improving resource management and network performance (routing delay, bandwidth consumption and throughput). In this paper, we present a study and analyze of some existing clustering approaches for MANETs that recently appeared in literature, which we classify as: Identifier Neighbor based clustering, Topology based clustering, Mobility based clustering, Energy based clustering, and Weight based clustering. We also include clustering definition, review existing clustering approaches, evaluate their performance and cost, discuss their advantages, disadvantages, features and suggest a best clustering approach