FedAC: An Adaptive Clustered Federated Learning Framework for Heterogeneous Data