Clustering in ad hoc networks provides significant support for implementation of QoS and security, by overcoming inherent network deficiencies (like lack of infrastructure etc.). In a clustered network architecture, the ad hoc network is divided into groups of nodes called clusters. The clusters are dynamically maintained and reconfigured using specific protocols and algorithms. In this paper, we describe a clustering technique which has been designed as a part of the CRESQ() routing algorithm for ad hoc networks. CRESQ’s clustering is segregated into two parts, the initial clustering and the cluster management. Initial Clustering creates the clusters during the network formation and cluster management maintains the clusters throughout the network lifetime. The main focus of this paper is the cluster management algorithm which is designed to be distributed in nature, adaptive to practicalities such as loss of packets and tolerant to mobilities during the algorithm execution. The algorithm makes no assumptions about the availability of information concerning transmission range, node mobilities etc. This paper also discusses certain performance metrics for judging the efficiency of clustering in ad hoc networks. We also present simulation results for the cluster management algorithm, along with a comparison with some existing algorithms. Results showing a comparison of CRESQ with existing protocols in terms of packet drop ratio and routing overhead are also provided.